【问题标题】:Uploading an image from iOS to Azure File Share将图像从 iOS 上传到 Azure 文件共享
【发布时间】:2021-08-24 22:54:08
【问题描述】:

我找到了将图像从 iOS 上传到 Azure 中的 blob 容器的文档 - https://docs.microsoft.com/en-us/azure/storage/blobs/storage-ios-how-to-use-blob-storage 使用https://github.com/Azure/azure-storage-ios

但我希望直接上传到文件共享。有没有办法做到这一点? 需要使用SAS身份验证来实现。

【问题讨论】:

  • 使用您在问题中提到的库吗?
  • 没有。看来这个库只允许我直接上传到容器,所以它不适用于我的任务。

标签: ios azure


【解决方案1】:

不幸的是,我不熟悉 iOS 编程,因此我无法为您提供任何代码。但是您可以使用以下步骤编写代码。

假设您有一个用于上传文件的文件共享的 SAS URL,您可以简单地使用 Azure 存储 REST API 将文件上传到文件共享中。您应该能够在您选择的编程语言中使用内置 HTTP 功能来执行此操作。

假设您有一个文件共享的 SAS URL,格式如下:https://<account-name>.file.core.windows.net/<share-name>?<sas-token>

您需要做的第一件事是在此 SAS URL 中插入您希望上传的文件名,以便获得该文件的 SAS URL。您的 SAS URL 类似于:https://<account-name>.file.core.windows.net/<share-name>/<file-name>?<sas-token>

接下来您需要创建一个空文件。您将使用Create File REST API 操作。不要担心那里的Authorization 请求标头,因为它已经包含在SAS 中。您需要包含的唯一请求标头是 x-ms-content-length 值,其值应该是您要上传的文件的大小。这将创建一个大小与您要上传的文件大小相同的空文件。

此操作完成后,接下来您需要上传刚刚创建的空文件中的数据。您将使用Put Range 操作。您需要包含的请求标头是x-ms-range(其值应为bytes=0-file-length - 1)和Content-Length(其值应为文件的长度)。请求正文将包含文件内容。

使用这些步骤,您应该能够在文件共享中上传文件。

【讨论】:

    猜你喜欢
    • 2021-05-03
    • 2020-09-26
    • 2021-12-05
    • 1970-01-01
    • 2018-10-16
    • 1970-01-01
    • 2018-08-09
    • 2021-01-10
    • 1970-01-01
    相关资源
    最近更新 更多