如何将文件上传到 Azure 存储?
Posted
技术标签:
【中文标题】如何将文件上传到 Azure 存储?【英文标题】:How to upload a file to Azure storage? 【发布时间】:2020-02-08 02:32:50 【问题描述】:我的问题很简单。
谢谢。
【问题讨论】:
你想上传什么? Azure Blob 还是 Azure 文件? @George Chen,我要上传文件 【参考方案1】:下面的代码是我上传文件到根目录的测试,它使用Azure Storage SDK v8,如果你想使用最新版本的sdk,你可以使用这个Azure File SDK:@ 987654321@。它将向您展示如何使用 SDK,它还包含许多示例,这是upload sample。
final String storageConnectionString =
"DefaultEndpointsProtocol=http;" +
"AccountName=your storage account name;" +
"AccountKey=your storage connection key";
try
// Use the CloudStorageAccount object to connect to your storage account
CloudStorageAccount storageAccount = CloudStorageAccount.parse(storageConnectionString);
// Create the file client.
CloudFileClient fileClient = storageAccount.createCloudFileClient();
// Get a reference to the file share
CloudFileShare share = fileClient.getShareReference("windows");
//Get a reference to the root directory for the share.
CloudFileDirectory rootDir = share.getRootDirectoryReference();
// Define the path to a local file.
final String filePath = "C:\\Users\\georgec\\Documents\\test.json";
//Get a reference to the file you want to upload
CloudFile cloudFile = rootDir.getFileReference("test.json");
cloudFile.uploadFromFile(filePath);
【讨论】:
谢谢!它工作得很好,但现在我在下载时遇到了问题。我获得了 URL,添加了 SAS 令牌,但没有获得下载链接,但我获得了文件的内容。例如,我上传了一个 .rtf 文件,当我尝试下载时得到了这个: \rtf1\ansi\ansicpg1252\cocoartf1671\cocoasubrtf600 \fonttbl\f0\fswiss\fcharset0 Helvetica; \colortbl;\red255\green255 \blue255; *\expandedcolortbl;; \paperw11900\paperh16840\margl1440\margr1440\vieww10800\viewh8400\viewkind0.... 文件的内容将在浏览器中内嵌显示或提示用户下载文件,具体取决于文件的内容类型。就像它会显示的 txt 或 json 一样,所以也许你可以用代码或 powershell 下载它,你也可以azcopy 来做。 如果这可以帮助你,请接受它作为答案。 是的,你是对的。如果我添加一个 doc 文件或 zip,它会被下载。感谢您的帮助。 您是否遇到过上传较大文件的问题。我无法上传大于 2 MB 的文件。没有显示错误,只是不起作用。以上是关于如何将文件上传到 Azure 存储?的主要内容,如果未能解决你的问题,请参考以下文章
如何使用 Javascript 将多个文件上传到 Azure 存储
如何将大文件上传到 Azure Blob 存储 (.NET Core)