Это ответ: Я могу отправить файл с многостраничным вложением с клиента C# в Java JAX Rest Webservice.
try
{
using (
var client = new HttpClient())
using (var form = new MultipartFormDataContent())
{
using (var stream = new FileStream(fileName, FileMode.Open, FileAccess.Read, FileShare.ReadWrite)) {
using (var fileContent = new StreamContent(stream)) {
fileContent.Headers.ContentDisposition = new ContentDispositionHeaderValue("attachment") {FileName = fileName, DispositionType = DispositionTypeNames.Attachment, Name = "fileData"};
form.Add(fileContent);
// only for test purposes, for stable environment, use ApiRequest class.
response = client.PostAsync(url, form).Result;
}
}
}
return response.RequestMessage != null ? response.ReasonPhrase : null;
}
catch (Exception ex)
{
TraceManager.TraceError("Post Asyn Request to " + url + " \n" + ex.Message, ex);
throw;
}
Хорошо, это идея, от Майкла тепер [ASP.NET WebAPI: как выполнить многослойную запись с возможностью загрузки файла с помощью WebApi HttpClient] (http://stackoverflow.com/a/10744043) Я попытаюсь смоделировать многопользовательскую загрузку файлов с помощью API HttpClient. – Donald
Я не знаком с этой .net-клиентской библиотекой, но я полагаю, что он генерирует стандартный многостраничный пост-запрос. Я полагаю, служба java/spring на стороне сервера не делает никаких предположений о типе клиента, просто принимает обычные множественные запросы, поэтому они должны просто работать вместе. – zagyi