ASP.NET Webservice повреждает загруженный файл - PullRequest
0 голосов
/ 05 августа 2009

У меня есть веб-сервис, с помощью которого я могу загружать документы на наш веб-сайт ASP.NET. Проблема в том, что когда я загружаю документы в формате PDF и Word, они повреждены, когда я пытаюсь их открыть. Текстовые документы всегда загружаются нормально. Что даже странно, это то, что на моей машине для разработки эти файлы загружаются нормально, но когда я пытаюсь загрузить их на наш демонстрационный сайт, они повреждены.

Есть идеи?

мой код имеет формат:

WebServicesSoapClient proxy = new WebServicesSoapClient();

byte[] data = GetFileByteStream("C:\\temp\\sample.pdf");
string response = proxy.UploadDocument("james", "password", 
                         orderId, "Sample.pdf", data, true);

1 Ответ

1 голос
/ 05 августа 2009

Ваши pdf файлы больше 4 МБ? Это максимальная длина запроса по умолчанию для ASP.NET. Вы можете переопределить этот параметр в вашем файле web.config с помощью:

<httpRuntime maxRequestLength="8192" />

Однако имейте в виду, что это увеличит использование памяти на вашем сервере - по умолчанию asp.net будет кэшировать весь запрос в памяти.

Кроме того, я не совсем уверен, что это проблема в вашем случае, так как обычно это превышение длины запроса вызывает исключение, а не повреждение файла без вывода сообщений.

см. Также http://support.microsoft.com/default.aspx?scid=kb;EN-US;295626

...