通过文件API将文件上传到Azure

问题描述 投票:0回答:1

我在通过文件 API 将文件上传到 Azure 时遇到问题。我正在尝试运行第一个请求,该请求在 Azure 中创建文件,但失败并提示授权标头不正确。

这是我要加密的字符串:

const stringToSign = `PUT\n\n\n${contentLength}\n\n\n\n\n\n\n\n\nx-ms-date:${currentDate}\nx-ms-type:file\nx-ms-version:2020-10-02\n/${azureStorageAccount}/${shareName}/${directoryName}/${fileName}`;

这些是我在请求中传递的标头:

const headers = {
    'x-ms-date': currentDate,
    'x-ms-version': '2020-10-02',
    'x-ms-type': 'file',
    'x-ms-content-length': contentLength,
    'Content-Type': 'application/binary',
    'Authorization': authorizationHeader
};

考虑字符串的问题,其中值不在 ' 之间的正确位置 ',但尝试了各种选择 - 没有运气。有没有人遇到过同样的问题,或者至少可以建议正确的字符串和标题?

azure api rest
1个回答
0
投票

我注意到的一件事是您正在

stringToSign
中传递文件的内容长度。根据文档
here
,它应该是
0
或空字符串。

请尝试这个:

const stringToSign = `PUT\n\n\n0\n\n\n\n\n\n\n\n\nx-ms-date:${currentDate}\nx-ms-type:file\nx-ms-version:2020-10-02\n/${azureStorageAccount}/${shareName}/${directoryName}/${fileName}`;

const stringToSign = `PUT\n\n\n\n\n\n\n\n\n\n\n\nx-ms-date:${currentDate}\nx-ms-type:file\nx-ms-version:2020-10-02\n/${azureStorageAccount}/${shareName}/${directoryName}/${fileName}`;
© www.soinside.com 2019 - 2024. All rights reserved.