2014-11-03 55 views
1

我嘗試上傳圖片到deviantART的如何執行與C#這curl命令 - HTTP POST用圖像和參數

他們給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 "[email protected]/to/image.png" 

C#.NET 4.5

回答

1

您可以發送使用WebClient像下面一個POST請求。

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用戶 令牌CLI的ENT應該請求一個新的與接入碼或 刷新令牌。」, 「狀態」: 「error」}

+0

ty非常想去嘗試是的它需要訪問令牌:D – MonsterMMORPG 2014-11-03 19:46:44

+0

好吧,這失敗了。因爲我應該發佈圖片數據。這不張貼圖像?它說400個不好的請求。該測試參數需要形象 – MonsterMMORPG 2014-11-03 19:59:22

+0

@MonsterMMORPG,你可以嘗試使用一些公共託管的圖像路徑,如'inputdata [「test」] =「https://ssl.gstatic.com/gb/images/i1_71651352.png」 '。 – 2014-11-04 07:31:49