我用的是fs。readFile读取大约700KB的本地mp4文件,AWS SDK将文件加载到我的S3存储桶中。这个过程是可行的,但文件已损坏,可能是因为S3上生成的文件大小仅为500KB左右而被截断。
我使用的代码可以很好地处理图像。只是不适用于mp4文件。这是我的代码:
fs.readFile(file_location, function (err, data) {
if (err) {
console.log('fs error': err);
} else {
var base64data = new Buffer(data, 'binary');
var params = {
Bucket: config.settings.bucket,
Key: 'file.mp4',
Body: base64data,
ContentEncoding: 'base64',
ContentType: 'video/mp4'
};
s3.putObject(params, function(err, data) {
if (err) {
console.log('Error putting object on S3: ', err);
} else {
console.log('Placed object on S3: ', object_key);
}
});
}
});
我已尝试从params对象中省略ContentEncoding和/或ContentType属性。
编辑:
因此,当我console.logfs.read文件返回的数据长度时,它总是不足。我也没有意识到我实际上没有处理bas64数据。因此,如果我使用下面的代码,我要求使用Base64读取文件,fs.read文件的data.length似乎是正确的,并且一个mp4文件显示在我的S3桶上,浏览器中有一个播放头(我之前没有得到),但是视频不会播放
fs.readFile(file_location, 'base64', function (err, data) {
if (err) {
console.log('fs error': err);
} else {
var params = {
Bucket: config.settings.bucket,
Key: 'file.mp4',
Body: data,
ContentEncoding: 'base64',
ContentType: 'video/mp4'
};
s3.putObject(params, function(err, data) {
if (err) {
console.log('Error putting object on S3: ', err);
} else {
console.log('Placed object on S3: ', object_key);
}
});
}
});
从readFile获得的data
变量已经可以使用了。直接用Body: data
传递即可。完全删除ContentEncode
参数,因为您没有发送bas64数据。
我正在使用数据移动库跟踪传输数据,以便将视频(mp4)从本地计算机上载到Azure Blob存储。 这是密码。 链接中提供的示例在GetBlob方法中没有以下行 我试过使用ContentType和不使用ContentType。在这两种情况下,文件似乎都已上载到Blob。唯一的区别似乎是ContentType,如下图所示。 问题是,在尝试下载任何文件时,它导致了一个警告错误,之后两个文件都没有播放,
问题内容: 尝试将文件上传到S3存储桶时遇到问题。一切正常,除了我的文件参数似乎不合适。我正在使用Amazon S3 SDK从Node.js上载到S3。 这些是我的路线设置: 这是items.upload()函数: 将param 设置为类似字符串的效果很好。根据doc,param必须获取 (缓冲区,类型数组,Blob,字符串,ReadableStream)对象数据。 但是,上传文件对象失败,并显示
我正在使用Dropzone.js将文件上传到Azure云存储桶中。 这些文件正在上传到bucket,但当我下载它们时,它们已经损坏了。 我到处都找过了。我没有上传在块,一切似乎都在那里,但无论什么类型的文件我上传,它是破坏与我重新下载它。
如果有人帮我解决这个问题,我会非常感激。 我正在为我的项目使用codeigniter框架。并想将我的图像上传到amazon s3桶中。当我尝试使用S3.php文件时 string(92)“不支持您提供的授权机制。请使用AWS4-HMAC-SHA256。” 有人能帮我解决这个问题吗。
我只是上传文件到谷歌云存储使用签名网址与Ajax上传。 已经完全上传了。但尝试从Bucket下载文件时,文件会像媒体文件一样损坏,否则pdf、txt文件工作正常。有什么建议请建议我谢谢。
问题内容: 我想使用python复制s3存储桶中的文件。 例如:我的存储桶名称=测试。在存储桶中,我有2个文件夹名称为“ dump”和“ input”。现在,我想使用python将文件从本地目录复制到S3“转储”文件夹…有人可以帮助我吗? 问题答案: 尝试这个… [更新]我不是pythonist,所以感谢您对import语句的注意。另外,我不建议将凭证放在您自己的源代码中。如果您在AWS内部运行此