asp.net-mvc – 异步处理asp.net mvc,提供客户端进度反馈
我正在构建一个图像管理工具,我想知道如何创建类似Vimeo的体验.
描述需要发生什么 >图像将调整大小 提供异步反馈 Vimeo做得很好.当您上传视频时,它会确认已上传,但随后说“我们正在对您的视频进行编码,请稍候”,并且用户界面会提供某种进度指示. 在将图像上传到我的服务器后,我想给用户两种反馈.每次处理图像并上传到S3时,我想: >在浏览器上更新消息 示例MVC控制器操作 [HttpPost] public virtual ContentResult Upload(Guid albumId) { foreach (string file in Request.Files) { HttpPostedFileBase f = Request.Files[file] as HttpPostedFileBase; if (f.ContentLength == 0) continue; var uploadDir = Server.MapPath("~/uploads/"+ albumId); var filePath = Path.Combine(uploadDir,Path.GetFileName(hpf.FileName)); f.SaveAs(filePath); // How can I trigger some async task here that would be able // to trigger some sort of feedback to the browser when complete? SomeAsyncImageProcessor.ProcessImage(albumId,filePath); // ??? } return Content("Success","text/plain"); } 约束 谁能指出我正确的方向? 解决方法
Rsenna的评论链接到一个名为WebSync的东西,这是一个基于.NET的Comet实现.如果在完成异步过程时绝对需要实时通知,那就太棒了.
但是,我认为老式的民意调查可能就足够了. SomeAsyncImageProcessor仍然是一个异步进程(因此您的应用程序不会冻结.) 但是,一旦“成功”返回到浏览器(表示上传已成功完成),您的页面将定期轮询“状态”URL,可能是1或2秒(取决于您希望这些进程需要多长时间). ) 对于每个图像,按顺序检查状态URL. http://mysite/imageprocessor/status?albumId=guid&stepid=3 状态URL会返回一个指示符,指示应该重新检查状态,或者返回成功以及指向amazon缩略图(或站点上的URL)的URL.重新检查,直到选中最后一步. (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |
- asp.net – 将会话变量传递给SQLDataSource时出错
- 如何从asp.net HyperLink控件调用javascript
- 如何在ASP.NET网页中嵌入代码块?
- asp.net – 如何将母版页添加到已创建的webform中?
- SignalR(.NET Core)中的JWT身份验证,而不在查询字符串中传递
- asp.net-mvc-5 – nuget中用于与WEB API集成的Ninject包中有
- Asp.net超链接控件相当于
- asp.net – 如果内容是静态的,那么对于带有“If-Modified-S
- asp.net-core – 如何在ASP.NET Core项目中为MVC和SignalR配
- asp.net核心 – 如何在自己的主机环境中的ASP.NET Core中gz
- asp.net-mvc – “无法同时分析32位和64位应用程
- asp.net-mvc – 将Elmah与WebApi一起使用时会记录
- asp.net-mvc – 如果ModelState表示该字段无效,则
- ASP.NET没有魔法——ASP.NET Identity与授权
- asp.net-mvc – 自定义WIF请求验证器无限循环
- asp.net-mvc-3 – MVC3 Razor使用Html.BeginForm
- ASP.NET Core Web API从静态类登录
- asp.net – System.Diagnostics.Process.Start不
- asp.net – Visual Studio构建错误“路径中的非法
- asp.net – 从ASP Classic迁移到.NET并减轻疼痛