Как декодировать пост Multipart/Form-Data?C#

Место общения программистов C#
Ответить
Anonymous
 Как декодировать пост Multipart/Form-Data?

Сообщение Anonymous »

В приложении с гибкой, связанной с веб -службой Windows Communication Foundation, я пытаюсь загрузить файл из приложения Flex на сервер. Я использую fileReference для просмотра и загрузки файла. Код> в отладчике) с использованием типа проекта Windows Communication Foundation 4 Service. < /p>

Код: Выделить всё

[WebInvoke(Method = "POST", UriTemplate = "_test/upload")]
public void UploadImage(Stream data)
{
// TODO: just hardcode filename for now
var filepath = HttpContext.Current.Server.MapPath(@"~\_test\testfile.txt");
using (Stream file = File.OpenWrite(filepath))
{
CopyStream(data, file);
}
}
private static void CopyStream(Stream input, Stream output)
{
var buffer = new byte[8 * 1024];
int len;
while ((len = input.Read(buffer, 0, buffer.Length)) > 0)
{
output.Write(buffer, 0, len);
}
}
< /code>
CopyStream
Метод, используемый в этом посте. Файл содержит больше информации, чем я хотел бы (исходный файл содержал только «Это содержание файла»): < /p>

Код: Выделить всё

------------ae0ae0Ef1ae0Ef1ae0gL6gL6Ij5cH2
Content-Disposition: form-data; name="Filename"

testfile.txt
------------ae0ae0Ef1ae0Ef1ae0gL6gL6Ij5cH2
Content-Disposition: form-data; name="Filedata"; filename="testfile.txt"
Content-Type: application/octet-stream

THIS IS THE CONTENT OF THE FILE
------------ae0ae0Ef1ae0Ef1ae0gL6gL6Ij5cH2
Content-Disposition: form-data; name="Upload"

Submit Query
------------ae0ae0Ef1ae0Ef1ae0gL6gL6Ij5cH2--
< /code>
The contents look exactly like described in the Adobe documentation. Are there any facilities in C# to get the file contents from the stream? The Flex app is sending a multipart/form-data POST. How can I decode the multipart body data as represented by the Stream
Параметр и разделите куски корпуса многопотаты?

Подробнее здесь: https://stackoverflow.com/questions/542 ... -form-data
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «C#»