c#HttpClient上传文件到spring rest服务(c# HttpClient upload file to spring rest service)
问题:我有一个Java Spring rest服务来上传文件(大尺寸)。 我想使用.NET httpClient(或其他.net客户端)来调用上传服务。
问题:
似乎发送大文件的最佳选择是多部分文件,什么是互操作性? 如果不可能,最好的选择是什么?谢谢!
Problem: I have a Java spring rest service to upload a file (large size). I want use a .NET httpClient (or other .net client) to call upload service.
Questions:
It seems that best option to send large file is multi-part file, what's about interoperability ? If it weren't possible, what is the best alternative ?Thank you!
最满意答案
这就是答案:我可以将带有多部分附件的文件从c#client发送到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; }This is the answer: I can send a file with multipart attachment from c# client to 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; }更多推荐
发布评论