Implementando Dropzone en un formulario en ASP.net error 404
Actualmente estoy tratando de implementar una zona de carga en un formulario preexistente utilizando páginas de razor de asp.net. Mi div que contiene la zona de carga se ve así:
<div class="form-group">
<label class="control-label">Agregar archivos</label><br>
<div runat="server" class="dropzone dz-clickable" id="myDropzone"></div>
</div>
y mi js se ve así:
Dropzone.options.myDropzone= {
url: '/uploads/image',
uploadMultiple: true,
parallelUploads: 5,
maxFiles: 5,
maxFilesize: 1,
acceptedFiles: 'image/*',
addRemoveLinks: true
}
Con esto obtengo un error 404 aunque haya configurado una carpeta en la carpeta wwwroot llamada cargas y todavía estoy obteniendo el error. Quiero que estos archivos se carguen en este directorio para poder procesarlos cuando se presiona el botón de envío. Actualmente puedo enviar los archivos al archivo C# llamando Request.Form.Files
solo usando <input type="file">
, pero no he podido hacer que la zona de carga funcione de manera similar.
davy.ai
Solución para implementar una zona de carga en un formulario preexistente utilizando asp.net Razor pages
El error 404 que estás experimentando probablemente se deba al hecho de que la URL especificada en tu código js no coincide con la URL o punto final correcto para la carga de archivos. Verifica la URL y asegúrate de que esté apuntando al lugar correcto.
Para cargar archivos utilizando dropzone, necesitas manejar la carga de archivos en el lado del servidor. En tu aplicación asp.net Razor pages, puedes crear un PageModel que maneje la carga de archivos, de la siguiente manera:
“`C# OnPostUploadAsync()
public class UploadModel : PageModel
{
public async Task
{
var files = Request.Form.Files;
}
Cuando envíes el formulario, los archivos se cargarán en el punto final especificado y podrás acceder a ellos en el método OnPostUploadAsync() de UploadModel.
Asegúrate de que la URL apunte al punto final correcto y de que la carpeta en la que estás cargando tenga los permisos de escritura necesarios.