astrXbian/www/multitube/import.html

273 lines
6.1 KiB
HTML
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

<!doctype html>
<html>
<head>
<meta charset="utf-8">
<title>IPFS API</title>
<style type="text/css">
.grid {
display : grid;
grid-gap: 10px;
grid-template-columns: 460px 1fr;
grid-template-rows: 100px 1fr 1fr;
grid-template-areas: "haut haut"
"navi load"
"navi result";
min-height: 680px;
max-height: 680px;
background-color: grey;
}
header {
background-color: #e6ecef;
grid-area : haut;
border-radius: 5px;
padding: 10px;
}
nav {
background-color: #e6ecef;
grid-area : navi;
border-radius: 5px;
padding: 10px;
overflow: scroll;
}
.load {
background-color: #e6ecef;
grid-area: load;
border-radius: 5px;
padding: 10px;
font-size: 1.3em;
}
.result {
background-color: #e6ecef;
grid-area: result;
border-radius: 5px;
padding: 10px;
overflow: scroll;
}
textarea {
position: relative;
width: 97%;
margin-left: 1%;
margin-right: 2%;
}
.thumb {
height: 75px;
border: 1px solid #000;
margin: 10px 5px 0 0;
}
</style>
<script src="https://code.jquery.com/jquery-3.2.1.min.js"></script>
<script>
// Check for the various File API support.
if (window.File && window.FileReader && window.FileList && window.Blob) {
function rec_str() {
var result= document.fff.ttt.value;
var data = new FormData();
data.append('arg', result);
var xhr = new XMLHttpRequest();
xhr.open('POST', 'https://tube.copylaradio/api/v0/add', true);
xhr.onload = function () {
var json = JSON.parse(this.responseText);
var hash = json.Hash;
var text = "<div class='cadre'><p style='text-align:center;'>" + hash + "</p><p style='text-align:center;'><a href='https://ipfs.io/ipfs/"+ hash + "'>Lien</a></p></div>"
document.getElementById('hash').innerHTML += text;
};
xhr.send(data);
};
} else {
alert('The File APIs are not fully supported in this browser.');
}
</script>
</head>
<body class="grid">
<header>
<h1 style= "text-align:center;" >IPFS API</h1>
<p style = "text-align:center;"></p>
</header>
<nav>
<p>LIPFS ou InterPlanetary File System est un protocole pair à pair (p2p) de distribution de contenu adressable par hypermédia. Il permet de "stocker" des fichiers ou des arborescences de fichiers de manière décentralisée et permanente*, et dy accéder via un noeud ipfs ou via un navigateur web.</p>
<p>Cette application utilise le noeud IPFS tube.copylaradio.com. Vous pouvez avec cette application créer des fichiers et les héberger sur IPFS, ou sélectionner tous types de fichiers présents sur votre terminal pour lhéberger sur IPFS.</p>
<p>Pour écrire un fichier, rédigez votre texte puis cliquez sur Send. Attendez quelques secondes le temps du chargement. Le chargement sera terminé lorsque vous verrez apparaître le hash du fichier créé et le lien IPFS correspondant.</p>
<p>Pour séléctionner un ou plusieurs fichiers présents sur votre terminal et les charger sur IPFS, cliquez sur Choose Files, puis séléctionnez le ou les fichiers désirés. Attendez quelques secondes le temps du chargement. Les chargements seront terminés lorsque vous verrez apparaître le ou les hash du ou des fichiers sélectionnés et leurs liens IPFS correspondants.</p>
<p>Pour davantage dinformations sur IPFS, suivez le lien officiel: <a href="https://ipfs.io">Lien officiel</a> Ou ce tutoriel en français: <a href="https://gist.github.com/YannBouyeron/53e6d67782dcff5995754b0a7333fa0b">Tutoriel en français</a>
<p>*permanente: tant que au moins un noeud du réseau possèdera un exemplaire de votre fichier !</p>
<a href="https://github.com/YannBouyeron/IPFS-API">Github sources</a>
</nav>
<div class="load">
<h5 style= "text-align:center;">Rédigez votre texte ici, ou ajoutez un fichier.</h5>
<form name='fff'>
<p><textarea name="ttt" id="ttt" rows="10" cols="150" wrap="virtual" placeholder="Écrivez ici."></textarea></p>
<input type='button' onClick='rec_str()' value='Send'>
<span><input type="file" id="files" name="files[]" multiple /></span>
</form>
</div>
<div class="result" id='hash'></div>
<script>
function handleFileSelect(evt) {
var files = evt.target.files; // FileList object
// Loop through the FileList and render image files as thumbnails.
for (var i = 0, f; f = files[i]; i++) {
var reader = new FileReader();
// Closure to capture the file information.
reader.onload = (function(theFile) {
return function(e) {
// On ajoute la photo dans ipfs
var data = new FormData();
data.append('arg', theFile);
var xhr = new XMLHttpRequest();
xhr.open('POST', 'https://tube.copylaradio.com/api/v0/add', true);
xhr.onload = function () {
var json = JSON.parse(this.responseText);
var hash = json.Hash;
var text = '<p style= "text-align:center;">' + theFile.name + '</p><p style= "text-align:center;">' + hash + '</p><p style= "text-align:center;"><a href= "https://ipfs.io/ipfs/'+ hash + '">Lien</a></p>' ;
var span = document.createElement('span');
span.innerHTML = ['<div class = "cadre"><p style= "text-align:center;" ><img class="thumb" src="', e.target.result,
'" title="', escape(theFile.name), '"/>', text, '</p></div>' ].join('');
document.getElementById('hash').insertBefore(span, null);
};
xhr.send(data);
};
})(f);
// Read in the image file as a data URL.
reader.readAsDataURL(f);
}
}
document.getElementById('files').addEventListener('change', handleFileSelect, false);
</script>
</body>
</html>