txt texto sobrescribir separado por notas lineas leer guardar escribir datos crear comas bloc archivos archivo agregar c# asp.net asp.net-web-api multipartform-data

texto - sobrescribir archivo c#



Carga de archivos WebAPI: sin escribir archivos en el disco (1)

Resuelto

Utilice el MultipartMemoryStreamProvider simple existente. No se requieren clases o proveedores personalizados. Esto difiere de la pregunta duplicada que resolvió la solución escribiendo un proveedor personalizado.

A continuación, utilícelo en un controlador WebAPI de la siguiente manera:

public async Task<IHttpActionResult> UploadFile() { if (!Request.Content.IsMimeMultipartContent()) { return StatusCode(HttpStatusCode.UnsupportedMediaType); } var filesReadToProvider = await Request.Content.ReadAsMultipartAsync(); foreach (var stream in filesReadToProvider.Contents) { var fileBytes = await stream.ReadAsByteArrayAsync(); } }

Toda la documentación / tutoriales / preguntas sobre el procesamiento de un archivo cargado con FormData a un manejador WebAPI de ASP.NET usa MultipartFormDataStreamProvider para procesar la secuencia de varias partes para dividirla en los campos y archivos de formulario relevantes.

var root = HttpContext.Current.Server.MapPath("~/App_Data"); var provider = new MultipartFormDataStreamProvider(root); await Request.Content.ReadAsMultipartAsync(provider); foreach (MultipartFileData file in provider.FileData) { // File }

Sin embargo, los archivos se escriben automáticamente en un directorio durante el proceso.

Parece una gran molestia cuando puedo usar HttpContext.Current.Request.Files[0].InputStream para acceder HttpContext.Current.Request.Files[0].InputStream a una secuencia de archivos dada en la memoria.

¿Cómo puede acceder WebAPI directamente a la secuencia de archivos sin la sobrecarga IO de usar MultipartFormDataStreamProvider ?

Tutorial oficial: http://www.asp.net/web-api/overview/advanced/sending-html-form-data,-part-2