Quiero implementar una carga de archivo simple en mi página de intranet, con la configuración más pequeña posible.
Esta es mi parte HTML:
<input id="sortpicture" type="file" name="sortpic" />
<button id="upload">Upload</button>
y este es mi script JS jquery:
$("#upload").on("click", function() {
var file_data = $("#sortpicture").prop("files")[0];
var form_data = new FormData();
form_data.append("file", file_data);
alert(form_data);
$.ajax({
url: "/uploads",
dataType: 'script',
cache: false,
contentType: false,
processData: false,
data: form_data,
type: 'post',
success: function(){
alert("works");
}
});
});
Hay una carpeta llamada "uploads" en el directorio raíz del sitio web, con permisos de cambio para "usuarios" y "IIS_users".
Cuando selecciono un archivo con el formulario de archivo y presiono el botón de carga, la primera alerta devuelve "[object FormData]". ¿No se llama a la segunda alerta y la carpeta "uploads" también está vacía?
¿Alguien puede ayudarme a descubrir qué está mal?
También el siguiente paso debería ser cambiar el nombre del archivo con un nombre generado por el lado del servidor. Quizás alguien también pueda darme una solución para esto.