- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
-6ren">
我尝试保存一个 json,其中包含以下带有特殊字符“ø”的 json。
json 是 {"username":"Jøhn"}。
我已使用此 API 将 json 保存在 azure blob ==> https://${storageAccountName}.blob.core.windows.net/${containerName}/${name}${sasToken }
保存在 blob 容器中的 json 是 {"username":"Jøhn"(最后一个大括号缺失)。
rest api 中使用的 header 为:'x-ms-blob-type': 'BlockBlob', 'x-ms-date':日期, 'x-ms-版本': '2016-05-31', '内容类型':'文本/纯文本', '内容长度': value.length
代码是:
const date = (new Date()).toUTCString();
const sasToken = await Storage.GenerateSasTokenIfExpired();
const endpoint = `https://${storageAccountName}.blob.core.windows.net/${containerName}/${name}${sasToken}`;
return backOff(() => new Promise((resolve, reject) => {
request.put({
'body': value,
'headers': {
'x-ms-blob-type': 'BlockBlob',
'x-ms-date': date,
'x-ms-version': '2016-05-31',
'Content-Type': 'text/plain',
'Content-Length': value.length
},
'url': endpoint
}, function (err, result) {
if (err) {
return reject(err);
}
if (result.statusCode !== 201) {
return reject(result.body);
}
return resolve(result);
});
}), AzureBackOff.retryPolicy);
最佳答案
你的怀疑是正确的。基本上,问题的出现是因为字符串的 value.length
包含特殊字符 (ø
)。
当我运行以下代码时:
const value = '{"username":"Jøhn"}';
console.log(value);
console.log('value.length', value.length);//Prints 19
const buffer = Buffer.from(value);
console.log('buffer length', buffer.length);//Prints 20
由于内容长度传递为 19,因此发送的字符少了一个,这就是您看到此问题的原因。
请更改以下代码行:
'Content-Length': value.length
至
'Content-Length': Buffer.from(value).length
这应该可以解决问题。
关于node.js - 使用 REST API 将 json 保存在 azurestorage blob 中时,json 中缺少大括号,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/62079318/
我从事一个 aspnetcore 2.0 项目。 我想使用 Blob AzureStorage,并且需要列出容器中的文件。 我添加了 nuget WindowsAzure.Storage 8.4。 使
我已将 Azure Functions 项目从 .Net Core 2.2 迁移到 .Net Core 3.1。因此,我还更新了其他 nuget 包以支持 .Net Core 3.1。之后,当我运行我
我已将 Azure Functions 项目从 .Net Core 2.2 迁移到 .Net Core 3.1。因此,我还更新了其他 nuget 包以支持 .Net Core 3.1。之后,当我运行我
我对 C++ 编程非常陌生,在使用 CMake 将 azure-storage-cpp 存储库添加到我的 VS 解决方案时遇到一些问题。 这是当我尝试构建 azure 存储项目时在 VS 中遇到的构建
我尝试在 Windows Azure Blob 中上传图像,但收到以下我无法处理的错误。 Server failed to authenticate the request. Make sure th
到目前为止,我已经掌握了我的 CloudFileDirectory并调用此方法会给我一个列表 IListFileItem对象,给定 CloudFileDirectory 中的每个文件和目录为 1 ,但
我正在做一个应用程序,将文件发送到Azure存储容器,然后向Azure队列发送消息。 当我达到大约 1000~1020 条消息时,我无法发送更多文件和消息。我还注意到,当我尝试检查队列中有多少消息时,
这个问题已经有答案了: Upgrading to Django 1.7. Getting error: Cannot serialize: There are some values Django
在 Windows Azure 存储中,我们曾经这样做来创建表: var tableClient = account.CreateCloudTableClient(); tableClient.Cre
我尝试保存一个 json,其中包含以下带有特殊字符“ø”的 json。 json 是 {"username":"Jøhn"}。 我已使用此 API 将 json 保存在 azure blob ==>
我尝试保存一个 json,其中包含以下带有特殊字符“ø”的 json。 json 是 {"username":"Jøhn"}。 我已使用此 API 将 json 保存在 azure blob ==>
我是一名优秀的程序员,十分优秀!