//检查POST的是否为MultiPart if (!Request.Content.IsMimeMultipartContent()) { throw new HttpResponseException(HttpStatusCode.UnsupportedMediaType); }var provider = new MultipartMemoryStreamProvider(); await Request.Content.ReadAsMultipartAsync(provider);var contents = provider.Contents; var fileName = contents[1].Headers.ContentDisposition.FileName.Replace("\"", ""); int moudleId = int.Parse(contents[0].ReadAsStringAsync().Result); using (var stream = contents[1].ReadAsStreamAsync().Result) { fileSize = stream.Length * 1.0f / 1024 / 1024; if(fileSize>0.5) return ResponseProvider.Fail("文件太大,请上传500KB以内文件");
// 把 Stream 转换成 byte[] byte[] bytes = new byte[stream.Length]; stream.Read(bytes, 0, bytes.Length); // 设置当前流的位置为流的开始 stream.Seek(0, SeekOrigin.Begin);
// 把 byte[] 写入文件 FileStream fs = new FileStream(fileSaveLocation, FileMode.Create); BinaryWriter bw = new BinaryWriter(fs); bw.Write(bytes); bw.Close(); fs.Close(); } |
WebApi 上传文件并传递参数
最新推荐文章于 2024-04-13 15:04:48 发布