Carga de archivos ASP a través de POST convertir datos posteriores a un archivo

Tengo una pequeña API de C# que hasta ahora solo ha estado haciendo GET y ha funcionado perfectamente, pero quiero agregar la capacidad para que un cliente pueda cargar un archivo a través de POST, todavía no hay un formulario web ni nada adjunto a la API, así que por ahora solo uso Fiddler para cargar un archivo a través de POST

public override string PostAction(string parameters, System.Collections.Specialized.NameValueCollection querystring, string postdata)
    { ..... }

Cuando depuro, veo que los datos posteriores contienen todo el cuerpo que Fiddler envió en lo que supongo que es la base 64.

Cuerpo de solicitud de Fiddler2:

---------------------------acebdf13572468
Content-Disposition: form-data; name="fieldNameHere"; filename="sample_iTunes.mov"
Content-Type: video/quicktime

<@INCLUDE *C:\Users\Public\Videos\Sample Videos\sample_iTunes.mov*@>
---------------------------acebdf13572468--

y puedo ver que postdata =

"---------------------------acebdf13572468\r\nContent-Disposition: form-data; name=\"fieldNameHere\"; filename=\"sample_iTunes.mov\"\r\nContent-Type: video/quicktime\r\n\r\n\0\0\0 ftypqt   \0qt  \0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\bwide\01�4mdat\0\0�\0\0��\0\0\0\0\0 \0Ĉ�\f�\n1\0\0�3ivx@�\0\0�����x�o�m����6���o�m����6���o�m����6���o�m����6���o�m����6���o�m����6���o�m����6���o�m����6���o�m����6���o�m����6���o�m����6���o�m����6���o�m����6���o�m����6���o�m����6���o�m����6���o�m����6���o�m����6���o�m����6���o�m����6���o�m����6���o�m����6���o�m����6���o�m����6���o�m����6���o�m����6���o�m����6���o�m����6���o�m����6���o�m����6���o�m����6���o�m����6�(a lot more stuff)----acebdf13572468--\r\n" 

¿Hay alguna forma adecuada de obtener el archivo desde aquí? ¿O tendría que intentar subcadenar el archivo (desde el final de Quicktime\r\n\r\n hasta el final ----acebdf13572468--\r\n) y luego hacer un archivo Bytes[] = Convert. deBase64cadena?

Muchas Gracias

preguntado el 12 de junio de 12 a las 15:06

¿Cómo envías el archivo? ¿Cuál es el código cuando lo envías? ahí debe estar el problema. -

Estoy haciendo una publicación sin formato con Fiddler, una vez que funcione, sería una aplicación de iOS que enviaría el archivo. Sé que el archivo se cargó porque está en la cadena de datos posteriores, pero tengo curiosidad sobre cómo sacarlo de los datos posteriores:

Lo averigué. No pude verificar el controlador API principal que tenía que convirtió el flujo de entrada en una cadena y lo pasé al controlador que estaba buscando. -

0 Respuestas

No es la respuesta que estás buscando? Examinar otras preguntas etiquetadas or haz tu propia pregunta.