Solicitud de ASP.NET: ¿Puedo obtener un archivo publicado desde un control dinámico creado en el cliente?

StackOverflow https://stackoverflow.com/questions/803255

Pregunta

Tengo un control web con algunos javascript personalizados. El javascript crea nuevos controles de carga de archivos en el cliente de forma dinámica utilizando un código similar a:

var newFileUpload = document.createElement('input');
newFileUpload.type = 'file';
container.appendChild(newFileUpload); // where container is a div

Esto existe en un formulario ASP.NET con encType configurado en multipart / form-data. Tendré controles 1 - n en la página (bueno, limitado a un número razonable, por supuesto).

Ahora me gustaría capturar los archivos cargados en mi aplicación ASP.NET. Debido al enfoque adoptado anteriormente, sé que no puedo capturarlos como lo haría desde un control FileUpload (que desafortunadamente no puedo usar). ¿Hay otra forma de capturar los archivos cargados?

He examinado varias áreas, entre ellas:

  • Request.Files
  • Request.Form
  • Request.Form.Keys
  • Request.InputStream

Pero no he podido encontrar el contenido. Creo que el cliente está enviando estos datos correctamente, pero no he podido determinar qué hace el servidor con la información sin procesar de la solicitud (si esto está expuesto).

¿Alguien tiene alguna sugerencia sobre las áreas que podría explorar?

Gracias

¿Fue útil?

Solución

Debes agregar un nombre único a tu elemento de carga para obtenerlo de la colección Request.Form.

var newFileUpload = document.createElement('input');
newFileUpload.type = 'file';
//newFileUpload.id = 'file01';
newFileUpload.name = 'file01';
container.appendChild(newFileUpload);

EDITAR: Intenté id y name attibutes, the with name, puedes obtener el contenido mediante

Request.Form["file01"]

También si debe agregar el siguiente atributo a su elemento de formulario. Esto le permite obtener el contenido del archivo mediante Request.Files [" file01 "]:

enctype="multipart/form-data"
Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top