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

c# – 如何在进度条中显示文件上传进度 – Amazon S3 bucket

发布时间:2020-12-15 06:54:52 所属栏目:百科 来源:网络整理
导读:我想在我的网页上的进度条中显示文件上传进度,同时将文件上传到Amazon S3 … 在我的网页上,我从一个文件输入中选择一个文件,该文件用Ajax POST请求调用我的控制器. 在控制器中,我从发布的请求中提取文件. var hpf = Request.Files[1]; 然后我调用一个使用Ama
我想在我的网页上的进度条中显示文件上传进度,同时将文件上传到Amazon S3 …

在我的网页上,我从一个文件输入中选择一个文件,该文件用Ajax POST请求调用我的控制器.

在控制器中,我从发布的请求中提取文件.

var hpf = Request.Files[1];

然后我调用一个使用AmazonS3Client的方法

UploadVideoMultiPart(hpf.InputStream,fileName)

上述方法完成了上传到S3的完美,在此过程中重复发送上传的字节数.

public static void UploadPartProgressEventCallback(object sender,StreamTransferProgressArgs e)
        {// Process event. 
            Var progress = (string.Format("{0}/{1}",e.TransferredBytes,totalContentLength));
        }

例:

TransferredBytes TotalBytes

8778 152652556

2562 152652556

如何在不停止上传线程的情况下将UploadPartProgressEventCallback中的数据发送回浏览器.

如果我能得到这个数据,我可以更新我的进度条.

解决方法

You Need something to communicate between your Server to Client

在这种情况下,SignalR是您的救星,借助SignalR,您可以将内容从服务器端推送到客户端.

整个文档在这里是SignalR@GitHub

你可以按照这些
web resources以及

(假设你已经通过上面的链接)

现在回到你的需要,

you can even hook SignalR broadcast ie can call client method and manage
groups outside the Hub class

这个例子在这里精美解释In this Example

虽然如果你不熟悉,学习如何,但相信我,这不会花费很多时间来掌握它,

(编辑:李大同)

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

    推荐文章
      热点阅读