gpt4 book ai didi

Azure存储-下载文件并放入存储中

转载 作者:行者123 更新时间:2023-12-03 06:02:59 26 4
gpt4 key购买 nike

我使用 Azure 移动服务 API 作为后端。我需要将文件从 URL 存储到 Azure 移动服务 API 脚本中的 Azure 存储。

我真的不知道该怎么做:(

存储主题中有一些读物,但不是来自 Azure 移动服务 API。

请帮忙。

--------评论后------

嗯,我就在那里。一切都在朝着正确的方向发展。可以下载该文件,我可以将其存储在存储容器中,但是在我的方式中我做错了一些事情,因为当我从 Sotrage 查看该文件时,它已损坏。

http://screencast.com/t/evBpmAVHQrbb http://screencast.com/t/H5Z0xzzsaH

var requestImageCallback = function (err, resp2, body) {
if (err || resp2.statusCode !== 200) {
console.error('Error sending data to the provider: ', err);
response.send(statusCodes.INTERNAL_SERVER_ERROR, body);
} else {
var type = resp2.headers["content-type"],
prefix = "data:" + type + ";base64,";

resp2.setEncoding('binary');
var base64 = new Buffer(body, 'binary').toString('base64'),
item = prefix + base64;
console.log(item);


var blobService = azure.createBlobService(accountName, accountKey, host);
blobService.createContainerIfNotExists("avatars", {
publicAccessLevel: 'blob'
}, function (error) {
if (!error) {
var sharedAccessPolicy = {
AccessPolicy: {
Permissions: azure.Constants.BlobConstants.SharedAccessPermissions.WRITE,
Expiry: new Date(new Date().getTime() + 5 * 60 * 1000)
}
};
var now = new Date();
var filename = now.getTime() + ".jpg";
var sasQueryUrl =
blobService.generateSharedAccessSignature("avatars",
filename, sharedAccessPolicy);

console.log(qs.stringify(sasQueryUrl.queryString));

console.log(sasQueryUrl.baseUrl + sasQueryUrl.path);

var options = {
contentType: type,
contentTypeHeader: type
};
blobService.createBlockBlobFromText('avatars', filename, item, options, function (error) {
if (!error) {
// Blob uploaded
}
});
} else {
console.error(error);
}
});

}
}

var http = require('request');
var reqOptions = {
uri: userData.picture.data.url,
headers: {
Accept: "image/jpeg, image/png"
}
};
http(reqOptions, requestImageCallback);

最佳答案

我相信图像未显示的原因是因为文件的内容是字符串(您将流转换为 base64 字符串,然后将图像的内容设置为该字符串)。我建议按原样获取二进制流并调用 createBlockBlobFromStream 方法来上传 blob。

关于Azure存储-下载文件并放入存储中,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22880633/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com