javascript html html5 download

javascript - Descargue un archivo en una ubicación diferente usando HTML5



download (1)

Estoy descargando archivos usando HTML5 de los siguientes códigos que puedes ver en vivo en acción en JSBIN HTML5 Download File DEMO y está funcionando perfectamente y descargo mis archivos en la carpeta de descarga predeterminada de mi navegador.

<!DOCTYPE html> <html> </head> </head> <body> <table> <tr><td>Text To Save:</td></tr> <tr> <td colspan="3"> <textarea id="inputTextToSave" style="width:512px;height:256px"></textarea> </td> </tr> <tr> <td>Filename To Save As:</td> <td><input id="inputFileNameToSaveAs"></td> <td><button onclick="saveTextAsFile()"> Save Text To File </button></td> </tr> <tr> <td>Select A File To Load:</td> <td><input type="file" id="fileToLoad"></td> <td><button onclick="loadFileAsText()">Load Selected File</button><td> </tr> </table> <script type=''text/javascript''> function saveTextAsFile() { var textToWrite = document.getElementById("inputTextToSave").value; var textFileAsBlob = new Blob([textToWrite], {type:''text/plain''}); var fileNameToSaveAs = document.getElementById("inputFileNameToSaveAs").value; var downloadLink = document.createElement("a"); downloadLink.download = fileNameToSaveAs; downloadLink.innerHTML = "Download File"; if (window.webkitURL != null) { // Chrome allows the link to be clicked // without actually adding it to the DOM. downloadLink.href = window.webkitURL.createObjectURL(textFileAsBlob); } else { // Firefox requires the link to be added to the DOM // before it can be clicked. downloadLink.href = window.URL.createObjectURL(textFileAsBlob); downloadLink.onclick = destroyClickedElement; downloadLink.style.display = "none"; document.body.appendChild(downloadLink); } downloadLink.click(); } function destroyClickedElement(event) { document.body.removeChild(event.target); } function loadFileAsText() { var fileToLoad = document.getElementById("fileToLoad").files[0]; var fileReader = new FileReader(); fileReader.onload = function(fileLoadedEvent) { var textFromFileLoaded = fileLoadedEvent.target.result; document.getElementById("inputTextToSave").value = textFromFileLoaded; }; fileReader.readAsText(fileToLoad, "UTF-8"); } </script> </body> </html>

Pero quiero descargarlo en una ubicación diferente. Como si estuviera usando este código sin conexión y solo tengo el código superior en mi archivo index.html . Cuando ejecuto este archivo en mi navegador desde el file:///C:/Users/Public/Desktop/ luego descarga el archivo y lo guarda en el file:///C:/Users/Public/Downloads/ . Así que quiero descargar este archivo desde donde se llama. Para esto, estoy eligiendo la ruta del siguiente código. y me está dando la ruta como /C:/Users/Public/Desktop/ por lo que quiero guardar el archivo aquí. Siempre que vaya este archivo index.html , descargará el archivo y lo guardará junto con el archivo index.html . ¿Cómo es esto posible?

var url = window.location.pathname; var folderpath = url.substring(0,url.lastIndexOf(''/'')+1); alert(folderpath);


No es posible porque esto plantea un riesgo de seguridad. Las personas usan información bastante real para su estructura de carpetas y acceder a los nombres de las carpetas en sí mismo plantea un riesgo inmediato. Como se describe aquí:

Obtenga la ruta de descarga del navegador con javascript

La mayoría de los sistemas operativos tienden a predeterminar una ubicación de descarga y esto es algo que el usuario decide a través del navegador que usa. No es el sitio web.