前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >Excel催化剂开源第34波-SM.MS图床API调用(用POST上传multipart/form-data内容)

Excel催化剂开源第34波-SM.MS图床API调用(用POST上传multipart/form-data内容)

作者头像
Excel催化剂
发布2021-08-19 15:45:54
5080
发布2021-08-19 15:45:54
举报
文章被收录于专栏:Excel催化剂

日常做网抓数据,都是以GET请求为主,偶尔遇到需要POST请求的,一般POST的参数只是一串字符串就可以了,通过构造字符串也很容易完成,但此次SM.MS的API接口要求是Content-Type: multipart/form-data,同时上传图片的同时还要加入一些控制参数,针对此类型的POST请求,以下给大家做一简单介绍。

百度不到找谷歌

用POST multipart/form-data 之类的关键字,翻了好一轮百度,本想着中文博客阅读容易省点时间,抄回来的代码都不能用,最后倒贴了不少无用功的时间,没找到答案。

真心想解决问题,不google一下,还真的不行,许多非专业开发者可能还不知道怎样上google,有这方面需求,可私信笔者,笔者可以给一点点指引。

在google上,很容易翻到答案,最终找到了最优解,用RestSharp来解决,同时附上找到的一些不错的链接,供大家深入去学习下。

https://csharp.hotexamples.com/examples/RestSharp/RestRequest/AddFile/php-restrequest-addfile-method-examples.html

https://briangrinstead.com/blog/multipart-form-post-in-c/

https://github.com/jptoto/MultipartFormPoster

https://stackoverflow.com/questions/19954287/how-to-upload-file-to-server-with-http-post-multipart-form-data

项目使用.net 4.5的话,可以用HttpClient类库,貌似实现出来也比较容易,但作为桌面端应用,要求.net 4.5有点高,只能找.net 4.0下的RestSharp方案了(在nuget上要使用105版本才可以支持,最新的也不支持.net 4.0)。

说了这么久,该上代码的时候了。

API参数要求

代码如下:

··· private static string GetUploadedPictureInfo(string filePath)

代码语言:javascript
复制
    {
        string url = "https://sm.ms/api/upload";
        var client = new RestClient(url);
        client.Timeout = 3000;
        var request = new RestRequest(Method.POST);
        request.AddFile("smfile", File.ReadAllBytes(filePath), Path.GetFileName(filePath));
        request.AlwaysMultipartFormData = true;
        request.AddParameter("ssl", "true", ParameterType.GetOrPost);
        var result = client.Execute(request);
        if (result.StatusCode == System.Net.HttpStatusCode.OK)
        {
            return result.Content;
        }
        else
        {
            return string.Empty;
        }
    }
本文参与 腾讯云自媒体同步曝光计划,分享自微信公众号。
原始发表:2019-05-07,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 Excel催化剂 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 百度不到找谷歌
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档