加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 编程开发 > asp.Net > 正文

asp.net-mvc – 异步处理asp.net mvc,提供客户端进度反馈

发布时间:2020-12-16 03:51:58 所属栏目:asp.Net 来源:网络整理
导读:我正在构建一个图像管理工具,我想知道如何创建类似Vimeo的体验. 描述需要发生什么 用户将能够使用plupload(无页面重新加载)上载许多可能较大的图像.然后,服务器将对每个上载的映像执行以下操作. 图像将调整大小 几个版本(例如拇指,小, 中,大) 每份副本都有
我正在构建一个图像管理工具,我想知道如何创建类似Vimeo的体验.

描述需要发生什么
用户将能够使用plupload(无页面重新加载)上载许多可能较大的图像.然后,服务器将对每个上载的映像执行以下操作.

>图像将调整大小
几个版本(例如拇指,小,
中,大)
>每份副本都有
完成一些图像处理(例如
卷积滤波器)
>这些调整大小
副本将上传到Amazon S3
>将存储有关每个图像的信息
到数据库(宽度,高度,
mimetype,filename)
>然后服务器应该向用户触发某种反馈

提供异步反馈
Plupload(图像上传工具)在将文件上传到我的服务器时具有非常好的视觉反馈,但是,我希望能够在服务器进行所有图像处理并上传到远程存储时向用户提供额外的反馈.

Vimeo做得很好.当您上传视频时,它会确认已上传,但随后说“我们正在对您的视频进行编码,请稍候”,并且用户界面会提供某种进度指示.

在将图像上传到我的服务器后,我想给用户两种反馈.每次处理图像并上传到S3时,我想:

>在浏览器上更新消息
说“15张照片中有5张
处理“,我想
>显示该图像的缩略图.

示例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");
}

约束
使用此网络应用的用户将使用最新版本的Chrome.不需要解决跨浏览器问题.我们正在使用asp.net MVC 3和SQL Server 2005

谁能指出我正确的方向?
有没有很好的资源来展示我如何能够完成这样的事情?

解决方法

Rsenna的评论链接到一个名为WebSync的东西,这是一个基于.NET的Comet实现.如果在完成异步过程时绝对需要实时通知,那就太棒了.

但是,我认为老式的民意调查可能就足够了. SomeAsyncImageProcessor仍然是一个异步进程(因此您的应用程序不会冻结.)

但是,一旦“成功”返回到浏览器(表示上传已成功完成),您的页面将定期轮询“状态”URL,可能是1或2秒(取决于您希望这些进程需要多长时间). )

对于每个图像,按顺序检查状态URL. http://mysite/imageprocessor/status?albumId=guid&stepid=3

状态URL会返回一个指示符,指示应该重新检查状态,或者返回成功以及指向amazon缩略图(或站点上的URL)的URL.重新检查,直到选中最后一步.

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读