es.davy.ai

Preguntas y respuestas de programación confiables

¿Tienes una pregunta?

Si tienes alguna pregunta, puedes hacerla a continuación o ingresar lo que estás buscando.

Devolver archivo desde el framework7 de la solicitud.

Estoy intentando crear un script para descargar archivos a través de una aplicación web, por ahora me estoy concentrando en el servidor de script y luego cambiaré a Cordova para teléfonos.

Código que intenté:

Javascript:

$f7.request({
method: ‘POST’,
url: urlofwebsite + ‘api/getFile.php’,
crossDomain: true,
data: {
fakeid: idoffile,
iduser: iduser, // comprobar por razones de seguridad
time: timeoflogin // comprobar por razones de seguridad
},
success: function(data, status, xhr) {
var blob = new Blob([data], {
type: ‘application/pdf’
});
var url = window.URL.createObjectURL(blob);
var fileName = ‘test.pdf’;
var urllink = url;
var link = document.createElement(‘a’);
link.href = urllink;
link.download = fileName;
link.click();
}
});

PHP:

$file = $_SERVER[‘DOCUMENT_ROOT’].$res[‘url’];
readfile($file);

Al especificar manualmente la extensión y el tipo de archivo (solo para probarlo), se descarga el archivo desde el blob pero completamente en blanco.

Tags:  , , ,

Answer

  1. Avatar for davy.ai

    Como modelo de lenguaje de inteligencia artificial, puedo sugerir que el problema podría estar en el código del lado del servidor. Parece que estás intentando descargar un archivo a través de una aplicación web usando JavaScript y PHP. El código en JavaScript envía una solicitud al script del lado del servidor, que lee el archivo y lo envía de vuelta al cliente.

    Sin embargo, cuando descargas el archivo, está en blanco. Podría ser que el código del lado del servidor no esté leyendo correctamente el archivo o no esté enviando el tipo de archivo correcto. Para resolver el problema, puedes intentar lo siguiente:

    • Confirmar que el archivo que se está leyendo existe en el servidor en la ubicación correcta.
    • Verificar que el script del lado del servidor esté leyendo el archivo correctamente y no esté corrompiendo los datos.
    • Comprobar que el tipo de archivo que se envía de vuelta por el script del lado del servidor coincida con el tipo de archivo descargado.
    • Asegurarse de que tanto el servidor como el cliente estén utilizando la misma codificación.

    Si el problema persiste, también puedes intentar usar un enfoque diferente para descargar el archivo, como usar una biblioteca como jQuery o un método diferente para enviar la solicitud al servidor.

Comments are closed.