- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
这看起来应该非常简单,但是,无论出于何种原因,这些选项对我来说没有意义。我正在实例化 BlobServiceClient:
this.FileClient = new BlobServiceClient(new Uri(ENDPOINT), credentials);
然后我得到一个 BlobContainerClient 实例:
var container = this.FileClient.GetBlobContainerClient(this.GetContainerName(format));
然后我调用 UploadBlobAsync:
await container.UploadBlobAsync(filePath, content);
我想做的就是监控上传进度。如果您查找 BlobClient 类,您会发现有一个 BlobUploadOptions 类,它具有 IProgress 类型的 ProgressHandler 属性,这正是我正在寻找的......但 BlobContainerClient 似乎没有以任何方式使用该类(为什么?)。另外,如果您查看 BlobClient 类的 UploadAsync 方法,会发现该方法有 2 个重载,除了 BlobUploadOptions.... 类型的参数外,第一个允许您指定将要上传的 Blob 放在何处,另一个允许您指定要上传的 Blob 的位置。您可以指定要上传的内容...但似乎没有重载允许您指定要上传的内容,同时指定将其放在哪里。我很困惑。
此外...我在应用程序的生命周期中使用了 1 个 BlobServiceClient 实例。这样合适吗?
最佳答案
首先,您应该使用BlobClient
来监控上传进度。
对于您的问题:
but it doesn't seem the BlobContainerClient uses that class in any way(why?)
这是设计使然。目前,BlobContainerClient
不支持此参数。您可以在 github page 中提出功能请求.
Also, if you look at the UploadAsync methods of the BlobClient class,there are 2 overloads of the method that except a parameter of typeBlobUploadOptions......
我认为您指的是这两种方法:
UploadAsync(字符串路径,BlobUploadOptions 选项,CancellationToken 取消 token = 默认)
和
UploadAsync(流内容、BlobUploadOptions 选项、CancellationToken 取消 token = 默认)
。
你应该知道何时使用它们,这样你就不会感到困惑。
使用UploadAsync(string path, xxx)
时,您应该指定您正在尝试的文件的路径(例如d:\myfolder\test.txt
)上传。
当使用UploadAsync(Stream content,xxx)
时,表示您已经获取了文件的流。例如,您使用此方法 var mystream = File.OpenRead("file path")
获取文件内容的流,然后将该流传递给此方法 UploadAsync(Stream content, xxx)
。
Also...I'm using 1 instance of the BlobServiceClient for the life ofthe application. Is that proper?
是的,没问题。
通过代码监控上传进度的使用方法可以引用this blog了解更多详情。
如果您还有其他问题,请告诉我。
关于azure - 如何使用 Azure BlobServiceClient 监视异步上传的进度,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/64164896/
我有以下正则表达式 /[a-zA-Z0-9_-]/ 当字符串只包含从 a 到z 大小写、数字、_ 和 -。 我的代码有什么问题? 能否请您向我提供一个简短的解释和有关如何修复它的代码示例? //var
我是一名优秀的程序员,十分优秀!