J'ai essayé de le faire pendant un certain temps et aucune de ces réponses n'a fonctionné pour moi. Voici comment j'ai procédé.
J'avais un fichier de sélection et un bouton d'envoi
<input type="file" name="file" id="file">
<button onclick="doupload()" name="submit">Upload File</button>
Ensuite, dans mon code javascript, je mets ceci
function doupload() {
let data = document.getElementById("file").files[0];
let entry = document.getElementById("file").files[0];
console.log('doupload',entry,data)
fetch('uploads/' + encodeURIComponent(entry.name), {method:'PUT',body:data});
alert('your file has been uploaded');
location.reload();
};
Si vous aimez StackSnippets...
function doupload() {
let data = document.getElementById("file").files[0];
let entry = document.getElementById("file").files[0];
console.log('doupload',entry,data)
fetch('uploads/' + encodeURIComponent(entry.name), {method:'PUT',body:data});
alert('your file has been uploaded');
};
<input type="file" name="file" id="file">
<button onclick="doupload()" name="submit">Upload File</button>
En PUT
est légèrement différente de la méthode POST
méthode. Dans ce cas, dans le serveur web pour chrome, la méthode POST
n'est pas mise en œuvre.
Testé avec le serveur web pour chrome - https://chrome.google.com/webstore/detail/web-server-for-chrome/ofhbbkphhbklhfoeikjpcbhemlocgigb?hl=en
Note- Lorsque vous utilisez le serveur web pour chrome, vous devez aller dans les options avancées et cocher l'option 'activer le téléchargement de fichiers'. Si vous ne le faites pas, vous obtiendrez une erreur pour non autorisé.
2 votes
JavaScript ne gère pas les téléchargements, car il est côté serveur. Le script côté serveur va recevoir le fichier, et ensuite le déplacer. Pour php, du dossier temporaire au dossier désiré.
0 votes
J'ai trouvé une solution intéressante en utilisant PHP ici
22 votes
Voté pour rouvrir le site parce que la question porte sur POJS (plain old javascript) et non sur jQuery.