如何用c#执行此curl命令 - 带有图像和参数的http post

时间:2014-11-03 17:00:02

标签: c# asp.net curl http-post

我正在尝试将我的图片上传到deviantart

他们以下面的curl命令为例来上传藏匿

我已经获得了access_token但是我不知道如何使用asp.net或C#发布此文件

感谢帮助

我需要上传图片和参数

这里是他们给出的curl命令

 curl https://www.deviantart.com/api/v1/oauth2/stash/submit \
-F "title=My great stash item&artist_comments=This is a great image&keywords=test image" \
-F access_token=Alph4num3r1ct0k3nv4lu3 \
-F "test=@path/to/image.png" 

c#.net 4.5

1 个答案:

答案 0 :(得分:1)

您可以使用POST发送WebClient请求,如下所示。

using (var webcl = new WebClient())
{
    var inputdata = new System.Collections.Specialized.NameValueCollection();
    inputdata["title"] = "My great stash item";
    inputdata["artist_comments"] = "This is a great image";
    inputdata["keywords"] = "test image";
    inputdata["access_token"] = "Alph4num3r1ct0k3nv4lu3";
    inputdata["test"] = "path/to/image";

    var output = webcl.UploadValues("https://www.deviantart.com/api/v1/oauth2/stash/submit", "POST", inputdata);
}

然而,当我尝试这个时,我得到了401 unauthorized error。可能access_token已过期。

因为当我和curl尝试同样的事情时,我也遇到了错误。

  

{"错误":" invalid_token"," error_description":"已过期的oAuth2用户   令牌。客户应该申请一个带有访问代码或新密码的新客户   刷新令牌。","状态":"错误"}