Tag: multipartform data

HttpClient上传MultipartFormData来玩2框架

我在使用RestSharp客户端的Windows Phone 8项目中有以下代码: public async Task DoMultiPartPostRequest(String ext, JSonWriter jsonObject, ObservableCollection attachments) { var client = new RestClient(DefaultUri); // client.Authenticator = new HttpBasicAuthenticator(username, password); var request = new RestRequest(ext, Method.POST); request.RequestFormat = DataFormat.Json; request.AddParameter(“json”, jsonObject.ToString(), ParameterType.GetOrPost); // add files to upload foreach (var a in attachments) request.AddFile(“attachment”, a.FileBody, “attachment.file”, a.ContType); var content = await client.GetResponseAsync(request); […]

如何在webapi上传中获取Multipart文件的流?

我需要使用Stream(Azure Blobstorage)上传文件,并且无法找到如何从对象本身获取流。 见下面的代码。 我是WebAPI的新手,并使用了一些示例。 我正在获取文件和filedata,但我的方法上传它并不正确。 因此,我需要将其转换或转换为普通Stream,此刻看起来有点难:) 我知道我需要使用ReadAsStreamAsync().Result以某种方式,但它在foreach循环中崩溃,因为我得到两个provider.Contents(第一个似乎正确,第二个没有)。 [System.Web.Http.HttpPost] public async Task Upload() { if (!Request.Content.IsMimeMultipartContent()) { this.Request.CreateResponse(HttpStatusCode.UnsupportedMediaType); } var provider = GetMultipartProvider(); var result = await Request.Content.ReadAsMultipartAsync(provider); // On upload, files are given a generic name like “BodyPart_26d6abe1-3ae1-416a-9429-b35f15e6e5d5” // so this is how you can get the original file name var originalFileName = GetDeserializedFileName(result.FileData.First()); // […]

Http MultipartFormDataContent

我被要求在C#中执行以下操作: /** * 1. Create a MultipartPostMethod * 2. Construct the web URL to connect to the SDP Server * 3. Add the filename to be attached as a parameter to the MultipartPostMethod with parameter name “filename” * 4. Execute the MultipartPostMethod * 5. Receive and process the response as required * / 我写了一些没有错误的代码,但是没有附加文件。 有人可以查看我的C#代码,看看我是否错误地编写了代码? […]

如何将FormData读入Web API

我有ASP.NET MVC webapplication我已经添加了webapi webServvices。 我有以下javascript代码。 var data = new FormData(); data.append(“filesToDelete”, “Value”); $.ajax({ type: “POST”, url: “/api/FileAttachment/UploadFiles?clientContactId=” + clientContactId, contentType: false, processData: false, data: data, success: function (result) { }, error: function (xhr, status, p3, p4) { } }); 以下是WebApi代码: public void UploadFiles(int clientContactId) { if (!Request.Content.IsMimeMultipartContent()) { throw new HttpResponseException(HttpStatusCode.UnsupportedMediaType); } var jsonContent = […]

C#:HttpClient,上传多个文件时的文件上传进度为MultipartFormDataContent

我正在使用此代码上传多个文件,并且它运行良好。 它使用modernhttpclient库。 public async Task PostImages (int platform, string url, List imageList) { try { int count = 1; var requestContent = new MultipartFormDataContent (); foreach (var image in imageList) { var imageContent = new ByteArrayContent (image); imageContent.Headers.ContentType = MediaTypeHeaderValue.Parse (“image/jpeg”); requestContent.Add (imageContent, “image” + count, “image.jpg”); count++; } var cookieHandler = new NativeCookieHandler (); […]

C#中的curl-F等价物

我试图在C#中使用HTTPClient对象向API发送一个post请求。 这是CURL命令: curl -X POST https://zzz.zzz.zzz/yyy -F Key=abcd -F media=@”audio.aac” 我写了以下代码: using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Threading.Tasks; using System.Net.Http; using System.IO; using System.Net.Http.Headers; namespace Speech2Text { class Program { static void Main(string[] args) { curl().Wait(); } static async Task curl() { var client = new HttpClient(); //Create List of KeyValuePairs List<KeyValuePair> […]

由于WebClient的uploadData不对数据进行编码,因此向其添加“Content-Type”,“multipart / form-data”标头会产生什么影响?

C#的uploadData方法不对正在发送的数据进行编码。 因此,如果我使用此方法发送文件(在将其转换为字节后),并且接收方正在寻找multiform/form-datapost,那么它显然不起作用。 将添加如下标题: WebClient c = new WebClient(); c.Headers.Add(“Content-Type”, “multipart/form-data”); 让它发送加密为多种forms的数据,或者数据是否仍然没有加密(因此服务器需要多种数据无法解析)? 请注意,我无法使用WebClient’s uploadFile ,因为我没有权限在客户端获取文件路径位置(我只有一个流,我可以转换为字节)

自定义表单数据与多个文件到Web API控制器

我在获取我在API控制器中指定的所有表单数据时遇到问题。 javascript上传function: $scope.upload[index] = $upload.upload({ url: ‘/api/upload/’, method: ‘POST’, data: { Photographer: $scope.models[index].photographer, Description: $scope.models[index].desc }, file: $scope.models[index].file }) 表单数据:按照我的意愿工作,对于发送的每个请求,它包含我想要的值。 ——WebKitFormBoundaryzlLjAnm449nw1EvC Content-Disposition: form-data; name=”Photographer” Scott Johnson ——WebKitFormBoundaryzlLjAnm449nw1EvC Content-Disposition: form-data; name=”Description” Image taken with a Nikon camerea ——WebKitFormBoundaryzlLjAnm449nw1EvC Content-Disposition: form-data; name=”file”; filename=”moxnes.jpg” Content-Type: image/jpeg 我的Web API控制器: 本指南中的模板 public class UploadController : ApiController { public async Task […]

C#中是否有任何multipart / form-data解析器 – (NO ASP)

我只是想编写一个多部分解析器,但事情变得复杂,并且想知道是否有人知道C#中的现成解析器! 为了说清楚,我正在编写自己的“小”http服务器,并且需要解析多部分表单数据! 在此先感谢Gohlool

发送multipart / form-data内容类型请求

以下http post请求使用multipart / form-data内容类型发送数据。 —————————–27311326571405\r\nContent-Disposition: form-data; name=”list”\r\n\r\n8274184\r\n—————————–27311326571405\r\nContent-Disposition: form-data; name=”list”\r\n\r\n8274174\r\n—————————–27311326571405\r\nContent-Disposition: form-data; name=”list”\r\n\r\n8274178\r\n—————————–27311326571405\r\nContent-Disposition: form-data; name=”antirobot”\r\n\r\n2341234\r\n—————————–27311326571405\r\nContent-Disposition: form-data; name=”votehidden”\r\n\r\n1\r\n—————————–27311326571405–\r\n List是输入名称。 8274184,8274174,8274178等是输入值。 但是什么是27311326571405,27311326571405 ……等等? 我想用c#发送相同的请求,但我真的不知道在哪里可以得到这个数字。