本文主要包含mui uploader,uploader,web uploader,fineuploader,fileuploader等相关知识,教程希望在学习及工作中可以帮助到您
");
</div>
使用mui 开发app做文件上传服务器net后台代码分享,html5+ Uploader模块管理网络上传任务,用于从本地上传各种文件到服务器,并支持跨域访问操作。通过plus.uploader可获取上传管理对象。Uploader上传使用HTTP的POST方式提交数据,数据格式符合Multipart/form-data规范,即rfc1867(Form-based File Upload in HTML)协议。
可以查看HTML5+ Uploader文档
可以查看HTML5+ Uploader文档
- public IHttpActionResult Post()
- {
- if (!Request.Content.IsMimeMultipartContent()) //如果不是文件类型 直接返回
- {
- return Ok();
- }
- var provider = new MultipartFormDataMemoryStreamProvider(); //文件流
- try
- {
- var result = Task.Run(async () => await Request.Content.ReadAsMultipartAsync(provider)).Result;
- string serviceCode = result.FormData.GetValues("serviceCode").FirstOrDefault();
- string userId = result.FormData.GetValues("userId").FirstOrDefault();
- string feedback = result.FormData.GetValues("feedback").FirstOrDefault();
- foreach (var stream in result.Contents.Where((content, idx) => result.IsStream(idx))) {
- var filename = stream.Headers.ContentDisposition.FileName.Replace("\"", "");
- var ms = stream.ReadAsStreamAsync().Result;
- var fileStorage = FileStorageFactory.CreateFileStorage(ms, filename, stream.Headers.ContentType.MediaType);
- package.FileStorages.Add(fileStorage);
- }
- }
- catch (Exception e)
- {
- return BadRequest();
- }
- return Ok("success");
- }
- public class MultipartFormDataMemoryStreamProvider : MultipartMemoryStreamProvider {
- private readonly Collection<bool> _isFormData = new Collection<bool>();
- private readonly NameValueCollection _formData = new NameValueCollection(StringComparer.OrdinalIgnoreCase);
- public NameValueCollection FormData {
- get { return _formData; }
- }
- public override Stream GetStream(HttpContent parent, HttpContentHeaders headers) {
- if (parent == null) throw new&nbs