繁体   English   中英

使用Node.js在Amazon S3中上传文件

[英]File uploading in Amazon S3 with Node.js

我正在使用aws-sdk在Amazon S3上上传文件。 它可以正常工作并可以上传文件,但是我的问题是; 上传到服务器后更改了文件名。 例如,如果我上传sample.jpg ,并将其重命名为b4c743c8a2332525.jpg 这是我的代码。

AWS.config.update({ 
    accessKeyId: key, 
    secretAccessKey: secret
});

var fileStream = fs.createReadStream(path);

fileStream.on('error', function (err) {
    if (err) { throw err; }
});

fileStream.on('open', function () {
    var s3 = new AWS.S3();
    s3.putObject({
        Bucket: bucket,
        Key: directory + file,
        Body: fileStream
    }, function (err) {
        if (err)
            res.send(err);
        fs.unlinkSync(path);
    });
});

将文件上传到S3服务器后更改文件名是否正常,或者是否可以选择上传相同文件名? 谢谢。

S3和AWS开发工具包都不会为您上传的内容选择任意文件名。 名称由您自己的代码设置。

directory + file的值设置为S3对象键时,请检查该值。 您可能正在从浏览器上载“ sample.jpg”(因此该文件在磁盘上本地称为sample.jpg ),但是node.js用于标识其磁盘上文件的临时文件名可能使用了像b4c743c8a2332525.jpg

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM