c# - 从 url 下载文件并保存到 blob

标签 c# azure azure-blob-storage azure-functions

我有一个 azure 函数,可以将文件下载到临时文件路径,然后将临时文件保存到 blob。我有两个问题:

1) 有没有办法管理函数创建的临时文件 路径.GetTempFileName()。即在函数范围之后删除临时文件名?

2) 将文件从 url 下载到 blob 是否有更好的做法?

var filename = Path.GetTempFileName();
WebClient myWebClient = new WebClient();
myWebClient.DownloadFile(url, filename);
using (var fileStream = System.IO.File.OpenRead(filename))
{
    blob.UploadFromStream(fileStream);
}

最佳答案

与下载到本地文件系统相比,更有效的方法是将 URL 内容直接流式传输到 blob 流。像这样的事情:

HttpWebRequest request = HttpWebRequest.CreateHttp(url);
using (WebResponse response = await request.GetResponseAsync())
using (Stream dataStream = response.GetResponseStream())
{
    await blob.UploadFromStreamAsync(dataStream);
}

关于c# - 从 url 下载文件并保存到 blob,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49137675/

相关文章:

c# - 如何使用反射创建或调用抽象类的 protected 构造函数?

c# - 组框的动画高度从 0 到自动

angular - 仅列出 Azure Blob 存储中 100 个 Blob 中的 10 个 Blob

ios - 在 azure-storage-ios SDK 中初始化 AZSCloudStorageAccount 时出现未指定错误

azure - 我可以从本地工作站安装 Azure 文件存储吗?

python - PowerShell:从 Azure Blob 存储运行 Python 脚本

C# 为什么将类实例传递给接受对象作为参数并将其装箱回来的方法

c# - 闯入 C# 调试器以除以零

c# - RestApiSDK 引用过时的 PayPalCoreSDK dll

session - Azure、SubscriptionClient.OnMessage 和 session