我试图重新建立一个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
谢谢,我在一些代码,我已经试过加入。 –