Descargar archivo ajax
Publicado por Vidal Garza (15 intervenciones) el 26/10/2018 02:11:01
Buen dia foro,
Espero esten bien, he estasdo buscando como descargar un archivo pero por mas pruebas que hago no consigo lo que busco.
Necesito descargar un archivo con ajax y php.
Se que el archivo llega bien al servidor por que la finalidad es guardarlo en MySQL y se guarda bien, de hecho si uso MySQL Workbench, puedo descargar el archivo bien, pero a la hora de descargar el archivo es donde tengo el problema, he intentado muchos codigos y no logro descargar el archivo.
En el siguiente codigo, no guardo el archivo en MySQL, simplemente lo vuelvo a descargar para evitar el factor de la DB.
Cualquier luz la agradecere.
Javascript:
Con PHP este es el codigo:
Espero esten bien, he estasdo buscando como descargar un archivo pero por mas pruebas que hago no consigo lo que busco.
Necesito descargar un archivo con ajax y php.
Se que el archivo llega bien al servidor por que la finalidad es guardarlo en MySQL y se guarda bien, de hecho si uso MySQL Workbench, puedo descargar el archivo bien, pero a la hora de descargar el archivo es donde tengo el problema, he intentado muchos codigos y no logro descargar el archivo.
En el siguiente codigo, no guardo el archivo en MySQL, simplemente lo vuelvo a descargar para evitar el factor de la DB.
Cualquier luz la agradecere.
Javascript:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
function SaveFilePOD(){
var file = document.getElementById("FilePOD").files[0];
var formData = new FormData();
formData.append('accion', 'save_file');
formData.append('module', "2");
formData.append('section', "7");
formData.append('operation', "1");
formData.append('operation_id', $("#txtOrderID").val() );
formData.append('type', "2" );
formData.append('file', file);
$.ajax({
type: "POST",
url: "Controlador/ctrl-Core-Files.php",
data: formData,
processData: false,
contentType: false,
error: function(){
alert("error petición ajax");
},
success: function(data){
window.open(data);
var blob=new Blob([data]);
var link=document.createElement('a');
link.href=window.URL.createObjectURL(blob);
link.download="file.pdf";
link.click();
}
});
return false;
}
Con PHP este es el codigo:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
case "save_file":
require_once("../Modelo/clsFiles.php");
$Files= new clsFiles();
$imageFileName = $_FILES['file']['tmp_name'];
$FileName = $_FILES['file']['name'];
$imageFileType = pathinfo($_FILES["file"]["tmp_name"],PATHINFO_EXTENSION);
$imageFileName = $_FILES['file']['tmp_name'];
$fileSize = $_FILES['file']['size'];
$fileExt = $_FILES['file']['type'];
$fileType = $_FILES['file']['type'];
// Read the file
$fp = fopen($imageFileName, 'r');
$data = fread($fp, filesize($imageFileName));
$data = addslashes($data);
fclose($fp);
header("Content-Disposition: attachment; filename=Test.pdf");
header("Content-length: $fileSize");
header("Content-type: $fileType");
echo $data;
break;
Valora esta pregunta
0