在创建签名的URL之前,您需要检查文件是否直接从存储桶中存在。一种方法是通过请求HEAD元数据。
// Using callbackss3.headObject(params, function (err, metadata) { if (err && err.pre === 'NotFound') { // Handle no object on cloud here } else { s3.getSignedUrl('getObject', params, callback); }});// Using async/await (untested)try { const headCode = await s3.headObject(params).promise(); const signedUrl = s3.getSignedUrl('getObject', params); // Do something with signedUrl} catch (headErr) { if (headErr.pre === 'NotFound') { // Handle no object on cloud here }}


