客户端上传文件
string url = url + "webUploadFile";Uri server = new Uri(url);HttpClient httpClient = new HttpClient();MultipartFormDataContent multipartFormDataContent = new MultipartFormDataContent();StreamContent streamConent = new StreamContent(new FileStream(path, FileMode.Open, FileAccess.Read, FileShare.Read));multipartFormDataContent.Add(streamConent, "jpg", fileName);HttpResponseMessage responseMessage = httpClient.PostAsync(server, multipartFormDataContent).Result;return responseMessage;
服务端接收文件
[Route("webUploadFile"), System.Web.Http.HttpPost]
public HttpResponseMessage webUploadFile()
{
if (HttpContext.Current.Request.Files.AllKeys.Any()){var httpPostedFiles = HttpContext.Current.Request.Files;if (httpPostedFiles != null && httpPostedFiles.Count > 0){// 获取文件HttpPostedFile httpPostedFile = httpPostedFiles[0];string fileExtension = ".jpg";// Path.GetExtension(httpPostedFile.FileName);// 文件扩展名string fileId = "11";string filePath = uploadPath + fileId + fileExtension;// 上传路径 httpPostedFile.SaveAs(filePath);string jsonres = "{\"code\":\"200\",\"message\":\"文件上传成功\", \"data\":{ \"fileUrl\":\"" + downloadurl+ "webDownloadFile?fileId=" + fileId + "\"}}";return new HttpResponseMessage(HttpStatusCode.OK) { Content = new StringContent(jsonres, System.Text.Encoding.UTF8, "application/json")};}}
}
服务端下载文件
[Route("webDownloadFile"), System.Web.Http.HttpGet] public HttpResponseMessage webDownloadFile(){if (HttpContext.Current.Request.Params.Count > 0 && HttpContext.Current.Request["fileId"] != null){string fileId = HttpContext.Current.Request["fileId"];string fileName = fileId + ".jpg";string path = uploadPath + fileName;if (!File.Exists(path)){return new HttpResponseMessage(HttpStatusCode.NotFound) { Content = new StringContent(Common.ReturnMessage("404", "文件不存在"), System.Text.Encoding.UTF8, "application/json") };}HttpResponseMessage result = null;FileStream fs = new FileStream(path, FileMode.Open);result = new HttpResponseMessage(HttpStatusCode.OK);result.Content = new StreamContent(fs);result.Content.Headers.ContentType = new System.Net.Http.Headers.MediaTypeHeaderValue("image/jpeg");return result;}return new HttpResponseMessage(HttpStatusCode.BadRequest) { Content = new StringContent(Common.ReturnMessage("400", "文件下载失败"), System.Text.Encoding.UTF8, "application/json") };}