我上傳一個視頻在我的網站上,由客戶端使用簡單的上傳程序,然後上傳到代碼隱藏使用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. Android操作系統 - 如何跟蹤Azure的上傳進度
- 3. 如何跟蹤異步文件上傳到Azure存儲的進度
- 4. 跟蹤誰上傳文件
- 5. 將文件上傳到Azure Blob存儲
- 6. 將大文件上傳到azure blob
- 7. 將文件上傳到Azure Blob存儲
- 8. 上傳2GB的文件到Azure的BLOB
- 9. 文件上傳到Windows Azure的Blob
- 10. AdobeAssetFile:無法跟蹤上傳進度
- 11. 在itemView中跟蹤上傳進度
- 12. Android Apache - 上傳並跟蹤進度
- 13. 在C#中將文件上傳到Rackspace Cloud文件時跟蹤進度#
- 14. 上傳到azure blob存儲
- 15. Gzip並上傳到Azure blob
- 16. 批量上傳到Azure blob
- 17. Amazon S3上傳圖片 - 跟蹤上傳進度 - Angular JS
- 18. 將文件上傳到azure blob存儲時沒有進度信息
- 19. 跟蹤多文件上傳與多個進度條與AS 3.0
- 20. 跟蹤multer nodejs上傳文件的進度
- 21. 使用OKHTTP跟蹤多部分文件上傳的進度
- 22. 使用jquery ajax和FormData跟蹤ajax文件上傳的進度
- 23. 通過web進度條跟蹤hadoop文件上傳狀態?
- 24. 使用WriterInterceptor跟蹤文件上傳進度
- 25. 上傳跟蹤到臉書
- 26. Azure跟蹤結果未上傳
- 27. 獲取Azure Blob上的實際上傳進度
- 28. 在Azure Android存儲SDK上的blob文件上傳過程中獲取進度
- 29. Uploadify文件上傳和上傳進度
- 30. 將文件上傳到azure blob存儲時出現FileLoadException
這是不準確的,你只是跟蹤閱讀將文件存儲到內存中,而不會將其上傳到Azure,這需要花費更長的時間。我正在尋找一個解決方案,我認爲準確的方法應該是在塊級別左右。 – Hossam 2014-01-05 14:00:36