在WebClient的官方文档中给出了异步上传下载文件的方法,以及方法的使用说明,大家可以看看官方文档再来看看文章 webclient.downloadfileasync
!!!(以下代码都是基于调用java后台接口)
一、上传(UploadFileAsync)
WebClient.UploadFileAsync(Uri, method, filename)(Uri必须标识可以接受通过POST方法发送的请求的资源)
/// <summary>
/// 上传文件
/// </summary>
/// <param name="url">地址</param>
/// <param name="callback"> 回调函数</param>
/// <param name="headers"> 请求头</param>
/// <param name="filePath">上传文件的路径</param>
public static void UploadFile(String url, myuploadfiledelegate callback, Dictionary<String, String> headers, string filePath)
{
WebClient client = new WebClient();
client.Headers.Add("Authorization", headers["token"]);
client.Credentials = CredentialCache.DefaultCredentials;
client.Headers.Add("Content-Type", "application/form-data");//注意头部必须是form-data
string safeFileName = Path.GetFileName(filePath);//文件名(abc.txt)
client.QueryString["file"] = safeFileName;