via txt servidor descargar con automaticamente archivo jquery file download

txt - Descargar archivo usando jQuery



javascript descargar archivo automaticamente (10)

Al indicar window.location.href = ''uploads/file.doc''; usted muestra dónde almacena sus archivos. Por supuesto, puede usar .htacess para forzar el comportamiento requerido de los archivos almacenados, pero esto no siempre será muy útil ...

Es mejor crear un archivo php del lado del servidor y colocar este contenido en él:

header(''Content-Type: application/octet-stream''); header(''Content-Disposition: attachment; filename=''.$_REQUEST[''f'']); readfile(''../some_folder/some_subfolder/''.$_REQUEST[''f'']); exit;

Este código devolverá CUALQUIER archivo como descarga sin mostrar dónde lo almacena realmente.

Usted abre este archivo php a través de window.location.href = ''scripts/this_php_file.php?f=downloaded_file'';

¿Cómo puedo solicitar una descarga para un usuario cuando hace clic en un enlace?

Por ejemplo, en lugar de:

<a href="uploads/file.doc">Download Here</a>

Podría usar:

<a href="#">Download Here</a> $(''a'').click... //Some jquery to download the file

De esta manera, Google no indexa mis HREF y archivos privados.

¿Se puede hacer esto con jQuery? De ser así, ¿cómo? ¿O debería hacerse esto con PHP o algo en su lugar?


Aquí hay un buen artículo que muestra muchas formas de ocultar archivos de los motores de búsqueda:

http://antezeta.com/news/avoid-search-engine-indexing

JavaScript no es una buena manera de no indexar una página; no impedirá a los usuarios vincularse directamente con sus archivos (y por lo tanto, revelarlo a los rastreadores), y como mencionó Rob, no funcionaría para todos los usuarios.
Una solución fácil es agregar el rel="nofollow" , aunque una vez más, no está completo sin robots.txt.

<a href="uploads/file.doc" rel="nofollow">Download Here</a>


Consulte aquí para obtener una publicación similar sobre el uso de jQuery para borrar formularios: Restablecer un formulario de múltiples etapas con jQuery

También puede encontrarse con un problema donde los valores se están repoblando mediante la pila de valores de struts. En otras palabras, envía su formulario, haga lo que sea en la clase de acción, pero no borre los valores de campo relacionados en la clase de acción. En este escenario, el formulario parecería mantener los valores que envió previamente. Si persiste esto de alguna manera, simplemente anule cada valor de campo en su clase de acción después de persistir y antes de devolver ÉXITO.


Podría sugerir esto, como una solución degradante más elegante, usando preventDefault :

$(''a'').click(function(e) { e.preventDefault(); //stop the browser from following window.location.href = ''uploads/file.doc''; }); <a href="no-script.html">Download now!</a>

Incluso si no hay Javascript, al menos de esta manera el usuario obtendrá algún comentario.


Sí, tendría que cambiar window.location.href a la url del archivo que desea descargar.

window.location.href = ''http://www.com/path/to/file'';


Si no desea que los motores de búsqueda indexen ciertos archivos, puede usar robots.txt para indicarle a las arañas web que no accedan a ciertas partes de su sitio web.

Si solo confía en javascript, algunos usuarios que naveguen sin él no podrán hacer clic en sus enlaces.


Sugiero que use el evento mousedown, que se llama ANTES del evento click. De esta forma, el navegador maneja el evento click naturalmente, lo que evita cualquier rareza del código:

(function ($) { // with this solution, the browser handles the download link naturally (tested in chrome and firefox) $(document).ready(function () { var url = ''/private/downloads/myfile123.pdf''; $("a").on(''mousedown'', function () { $(this).attr("href", url); }); }); })(jQuery);



var link=document.createElement(''a''); document.body.appendChild(link); link.href=url; link.click();


  • Usando la función jQuery

    var valFileDownloadPath = ''http//:''+''your url''; window.open(valFileDownloadPath , ''_blank'');