我上传一个视频在我的网站上,由客户端使用简单的上传程序,然后上传到代码隐藏使用blob.UploadByteArray(),上传到azure blob我想跟踪上传在那一刻总共上传了多少字节的进度?有没有任何API或解决方法?不要第三方上传或blob推等。在此先感谢!跟踪上传进度,同时上传文件到azure blob
0
A
回答
0
我还没有找到API来跟踪进度。我已经实现了进度条的一种方式是将blob作为较小的块上传到Azure存储。当每个块成功上传时,您可以根据块的数量改变进度条。
-1
Azure存储允许您将块上传到blob。看看this example on MSDN blogs。
通过向Azure发送数据块,您可以同时跟踪您的进度。
0
我读到CorneM提到的博客文章,但我不是在执行太热衷..
相反,我的子类的FileStream,以便它引发的事件,每隔一段时间,它正在读取,并提供我的子类filestream添加到SDK中Azure存储客户端上的UploadFromStream方法。干净多了,恕我直言
public delegate void PositionChanged(long position);
public class ProgressTrackingFileStream: FileStream
{
public int AnnounceEveryBytes { get; set; }
private long _lastPosition = 0;
public event PositionChanged StreamPositionUpdated;
// implementing other methods that the storage client may call, like ReadByte or Begin/EndRead is left as an exercise for the reader
public override int Read(byte[] buffer, int offset, int count)
{
int i = base.Read(buffer, offset, count);
MaybeAnnounce();
return i;
}
private void MaybeAnnounce()
{
if (StreamPositionUpdated != null && (base.Position - _lastPosition) > AnnounceEveryBytes)
{
_lastPosition = base.Position;
StreamPositionUpdated(_lastPosition);
}
}
public ProgressTrackingFileStream(string path, FileMode fileMode) : base(path, fileMode)
{
AnnounceEveryBytes = 32768;
}
}
然后使用它像这样(_container是我的Azure存储容器,文件是我的本地文件一个FileInfo):
CloudBlockBlob blockBlob = _container.GetBlockBlobReference(blobPath);
using (ProgressTrackingFileStream ptfs = new ProgressTrackingFileStream(file.FullName, FileMode.Open))
{
ptfs.StreamPositionUpdated += ptfs_StreamPositionUpdated;
blockBlob.UploadFromStream(ptfs);
}
相关问题
- 1. 上传HTTP进度跟踪
- 2. 将大文件上传到azure blob
- 3. 将文件上传到Azure Blob存储
- 4. 在itemView中跟踪上传进度
- 5. Android Apache - 上传并跟踪进度
- 6. 批量上传到Azure blob
- 7. Amazon S3上传图片 - 跟踪上传进度 - Angular JS
- 8. 将文件上传到azure blob存储时没有进度信息
- 9. 使用OKHTTP跟踪多部分文件上传的进度
- 10. 使用WriterInterceptor跟踪文件上传进度
- 11. 在Azure Android存储SDK上的blob文件上传过程中获取进度
- 12. 将文件上传到Azure Blob时的ASP.NET Core内存消耗
- 13. 从azure网站上传大文件到azure blob
- 14. PHP文件上传 - 跟踪字节与AJAX上传
- 15. WCF REST上传Azure Blob
- 16. 上传到Azure
- 17. nullpointerexception同时上传图像到azure blob存储在android
- 18. 文件上传进度条
- 19. 文件上传进度
- 20. 文件上传进度
- 21. 使用SAS和REST上传到Azure Blob
- 22. 的Windows Azure:无法上传到BLOB
- 23. 无法将图像上传到Azure blob
- 24. Blueimp文件上传插件,进度条完成文件上传
- 25. 如何将文件上传到Asp.Net Core中的azure blob?
- 26. 简单的PHP cURL文件上传到Azure存储blob
- 27. 如何从网站图片上传文件到Azure Blob存储?
- 28. 将视频文件上传到NODEJS中的AZURE BLOB存储
- 29. 上传文件到Azure BLOB存储 - Parallel.Foreach比Foreach慢
- 30. 直接从浏览器上传文件到Azure Blob存储?
这是不准确的,你只是跟踪阅读将文件存储到内存中,而不会将其上传到Azure,这需要花费更长的时间。我正在寻找一个解决方案,我认为准确的方法应该是在块级别左右。 – Hossam 2014-01-05 14:00:36