我試圖重新建立一個curl命令使用System.Net.WebClient或其他方法來上傳在C#中的文件,上傳文件,而我只是沒有將文件發送運氣和名稱價值的東西在一起,以及curl使用的身份驗證。任何人都知道這個訣竅?我僅限於框架4.0。使用system.net.webclient
我只需要發送一個簡單的CSV文件到一個URL,如下所述:http://quickfuseapps.com/docs/api/sdb_upload_csv
命令本身是:
curl -u username:password -F tablekey=username:customers -F mode=replace -F [email protected] http://quickfuseapps.com/api/1/sdb/upload/csv
我想這使用的代碼片段和I類發現,但它不會允許網絡憑證
Helpers.MultipartForm form = new Helpers.MultipartForm("http://quickfuseapps.com/api/1/sdb/upload/csv");
form.SetField("tablekey", "user:table");
form.SetField("mode", "replace");
// NO auth method to set credentials
form.SendFile(@"d:\test.csv"); form.SetField("tablekey", "user:table");
form.SetField("mode", "replace");
// NO auth method to set credentials
form.SendFile(@"d:\test.csv");
這裏的代碼,將設置表單字段和權威性,但不也允許文件上傳
using (var client = new WebClient())
{
var values = new NameValueCollection();
values.Add("app_id", "5gxWWnLlg");
values.Add("tablekey", "user:table");
values.Add("dial_col", "PhoneNumber");
values.Add("result_col", "outbound_result");
client.Credentials = new NetworkCredential("user", "pwd");
client.Encoding = Encoding.ASCII;
//var response = client.UploadValues("http://quickfuseapps.com/api/1/outbound/queue", values);
var response = client.UploadValues("http://quickfuseapps.com/api/1/outbound/queue/", "POST", values);
var responseString = Encoding.Default.GetString(response);
}
你應該包括你嘗試了Web客戶端的代碼,並解釋如何不起作用。 – mason
謝謝,我在一些代碼,我已經試過加入。 –