Решено:
Подготовить файл:
File file = new File(LocalFilePath);
FileEntity fileentity = new FileEntity(file, "UTF-8");
HttpUtilities.postRequest(WebServiceURL, fileentity);
отправить запрос:
public static String postRequest(String url, HttpEntity aEntity)
throws IOException {
InputStream is = null;
try {
HttpClient client = new DefaultHttpClient();
HttpPost httppost = new HttpPost(url);
httppost.setEntity(aEntity);
HttpResponse response = client.execute(httppost);
HttpEntity responseEntity = response.getEntity();
is = responseEntity.getContent();
} catch (Exception e) {
}
return getResponse(is);
}
после этого веб-сервер пожаловался:
HttpException (0x80004005): Maximum request length exceeded
максимальная длина запроса по умолчанию равна 4 МБ, поэтому я установил это в web.config:
<system.web>
<httpRuntime maxRequestLength="1048576"/>
</system.web
, который разрешает файлы размером до 1 ГБ (!).
изменить:
Забыли код сервера:
var str = Request.InputStream;
strLen = Convert.ToInt32(str.Length);
byte[] strArr = new byte[strLen];
strRead = str.Read(strArr, 0, strLen);