Tengo que subir un fichero a un servidor, la cosa es que cuando pruebo toda la aplicación en el navegador me sube el fichero bien y no da ningún problema, el problema es que es una aplicación node js y al compilarla para crear el ejecutable esta petición ajax deja de funcionar. Tengo otras dos peticiones ajax y en el ejecutable siguen funcionando bien así que no se que me falla.
No se si me he explicado muy bien :S
js:
function send(){
var input = document.getElementById('fileInput');
formdata = false;
//Revisamos si el navegador soporta el objeto FormData
if(window.FormData){
formdata = new FormData();
//document.getElementById('submit-btn').style.display = 'none';
}
//Aplicamos la subida de imágenes al evento change del input file
if(input.addEventListener){
input.addEventListener('change', function(evt){
var i = 0, len = this.files.length, img, reader, file;
//Si hay varias imágenes, las obtenemos una a una
for( ; i < len; i++){
file = this.files[i];
//Una pequeña validación para subir imágenes
if(!!file.type.match(/application.zip/)){
//Si el navegador soporta el objeto FileReader
if(window.FileReader){
reader = new FileReader();
//Llamamos a este evento cuando la lectura del archivo es completa
//Después agregamos la imagen en una lista
reader.onloadend = function(e){
};
//Comienza a leer el archivo
//Cuando termina el evento onloadend es llamado
reader.readAsDataURL(file);
}
//Si existe una instancia de FormData
if(formdata)
//Usamos el método append, cuyos parámetros son:
//name : El nombre del campo
//value: El valor del campo (puede ser de tipo Blob, File e incluso string)
formdata.append('fileInput', file);
}
}
//Por último hacemos uso del método proporcionado por jQuery para hacer la petición ajax
//Como datos a enviar, el objeto FormData que contiene la información de las imágenes
if(formdata){
$.ajax({
url : 'blablabla',
type : 'POST',
data : formdata,
processData : false,
contentType : false,
success : function(res){
console.log("success");
}
});
}
}, false);
}
}
php alojado en server:
<?php
header("Access-Control-Allow-Origin: *");
/*En php recibimos las variables de nuestro formulario
Como lo har�amos normalmente, en este caso solo es una. */
$pic = $_FILES['fileInput'];
$data = array('success' => false);
//Validamos si la copio correctamente
if(copy($pic['tmp_name'],'/blablabla/'.$pic['name'])){
$data = array('success' => true);
}
//Codificamos el array a JSON (Esta sera la respuesta AJAX)
echo json_encode($data);
?>
Este es mi código, resumen, en navegador me funciona perfectamente, cuando creo el ejecutable de node js deja de funcionar, no se porque, ando super perdido ya que este no es mi campo.