相关疑难解决方法(0)

C#HttpClient 4.5 multipart/form-data上传

有没有人知道如何使用HttpClient.Net 4.5 multipart/form-data上传?

我在互联网上找不到任何例子.

c# upload multipartform-data .net-4.5 dotnet-httpclient

128
推荐指数
6
解决办法
16万
查看次数

如何通过WebApi上传图像

如何通过ASP.NET Web API上传图像文件?
我在文件模式下有一个输入标签,它发布到API,我如何将其保存到服务器文件夹?
我试过这段代码,但它不起作用:

private void UploadWholeFile(HttpRequestBase request)
{
   for (int i = 0; i < request.Files.Count; i++)
   {
      var file = request.Files[i];

      var ext = new FileInfo(file.FileName).Extension;
      var fullPath = Path.Combine(StorageRoot, Path.GetFileName(Guid.NewGuid() + ext));

      file.SaveAs(fullPath);
   }
}
Run Code Online (Sandbox Code Playgroud)

c# asp.net-web-api

22
推荐指数
2
解决办法
7万
查看次数

如何使用REST API将附件发布到JIRA?

如何在C#中使用JIRA REST API和HttpWebRequest将附件发布到JIRA?

/ rest/api/2/issue/{issueIdOrKey}/attachments下文档:

POST

为问题添加一个或多个附件.

此资源需要一个多部分帖子.媒体类型的multipart/form-data在RFC 1867中定义.大多数客户端库都有类,使得处理多部分帖子变得简单.例如,在Java中,Apache HTTP Components库提供了一个MultiPartEntity,使得提交多部分POST变得简单.

为了防止XSRF攻击,因为此方法接受multipart/form-data,所以它具有XSRF保护.这意味着您必须提交X-Atlassian-Token标头:nocheck请求,否则将被阻止.

包含附件的multipart/form-data参数的名称必须是"file"

上传名为"myfile.txt"的文件以发布REST-123的简单示例:

curl -D- -u admin:admin -X POST -H"X-Atlassian-Token:nocheck"-F"file=@myfile.txt" http://myhost.test/rest/api/2/issue/TEST -123 /附件


我有

foreach (JIRAAttachments attachm in attachments.attachments)
{
    request = HttpWebRequest.Create(
                  logInformation.GetUri() + "/rest/api/2/issue/" + key + "/attachments"
              ) as HttpWebRequest;
    request.Headers.Add("Authorization: Basic " + logInformation.GetEncodeAuthentication());
    request.Method = "POST";
    request.ContentType = "multipart/form-data";
    request.Headers.Add("X-Atlassian-Token: nocheck file=@" + Path.GetFullPath(@"..\Attachments\" + attachm.filename));
    request.KeepAlive = true;
    request.Proxy = wp;
    response = (HttpWebResponse)request.GetResponse();
    Stream s = response.GetResponseStream();
    FileStream …
Run Code Online (Sandbox Code Playgroud)

c# rest jira

8
推荐指数
2
解决办法
2万
查看次数

将文件以及一些参数发布到 web api

我有 Web api 控制器上传控制器,它具有PostUpload将数据存储到数据库的方法。

现在我正在尝试将文件和一些参数发布到该 web api,但所有尝试都失败了,比如通过数组列表,json 对象,我们不能将文件和参数发布到 web api?

var request = new RestRequest("Uploads", Method.POST);
request.RequestFormat = DataFormat.Json;

request.AddHeader("Content-Type", "application/json");
request.AddFile("filename", Server.MapPath("/Images/137549014628194.R6MyHlYrIfIo3BWPIytG_height640.png"), "image/png");
request.AddFile("filename", Server.MapPath("/Images/137549014628194.R6MyHlYrIfIo3BWPIytG_height640.png"), "image/png");
request.AddFile("filename", Server.MapPath("/Images/137549014628194.R6MyHlYrIfIo3BWPIytG_height640.png"), "image/png");
request.AddParameter("participantsId", 2);
request.AddParameter("taskId", 77);
request.AddParameter("EnteredAnswerOptionId", 235);
IRestResponse response = createClient().Execute(request);
Run Code Online (Sandbox Code Playgroud)

网络API方法:

[HttpPost]
public string PostUpload(int? participantsId, int? taskId, int? EnteredAnswerOptionId)
{
    var file = HttpContext.Current.Request.Files.Count > 0 ?
    HttpContext.Current.Request.Files[0] : null;
    if (file.ContentLength > 0)
    {
        var fileName = Path.GetFileName(file.FileName);
        var path = Path.Combine(HttpContext.Current.Server.MapPath("~/uploads"), fileName);
        file.SaveAs(path); 
    }
    return …
Run Code Online (Sandbox Code Playgroud)

c# json restsharp asp.net-web-api

6
推荐指数
1
解决办法
2万
查看次数

为什么POST会在MVC 4中引发异常?

我想尝试这样的POST:

    HttpClient hc = new HttpClient();
    byte[] bytes = ReadFile(@"my_path");

    var postData = new List<KeyValuePair<string, string>>();
    postData.Add(new KeyValuePair<string, string>("FileName", "001.jpeg"));
    postData.Add(new KeyValuePair<string, string>("ConvertToExtension", ".pdf"));
    postData.Add(new KeyValuePair<string, string>("Content", Convert.ToBase64String(bytes)));

    HttpContent content = new FormUrlEncodedContent(postData);
    hc.PostAsync("url", content).ContinueWith((postTask) => {
    postTask.Result.EnsureSuccessStatusCode();
    });
Run Code Online (Sandbox Code Playgroud)

但我收到这个例外:

无效的URI:Uri字符串太长.

抱怨这条线:HttpContent content = new FormUrlEncodedContent(postData);.对于小文件它可以工作,但我不明白为什么对于较大的文件它不?

当我发布POST时,内容可能会更大......那么为什么它会抱怨URI?

asp.net-mvc asp.net-web-api

5
推荐指数
1
解决办法
3344
查看次数