if(!val.properties.locations.length){ this.$warn('文件不存在'); return false; } let url = val.properties.locations[0].url; let regex = 's3://(.*):(.*)@(.*)/(.*)/(.*)'; let arr = url.match(regex); let bucketName = arr[4]; let key = arr[5]; let endpoint = arr[3]; let accessKeyId = arr[1]; let secretAccessKey = arr[2]; // 创建下载链接 const params = { Bucket: bucketName, Key: key, Expires: 100, ResponseContentDisposition: `attachment; filename = ${val.name}.${val.disk_format}` }; const s3 = new AWS.S3({ endpoint: 'http://' + endpoint, accessKeyId: accessKeyId, secretAccessKey: secretAccessKey, s3ForcePathStyle: true, signatureVersion: 'v4' }); s3.getSignedUrl('getObject', params, (err, url) => { if (err) { console.error('无法生成文件:', err); } else { // 使用生成的URL下载图片 window.open(url); } }); 如果出现process.hrtime is not a function可能是jsconfig.json中的"target": "ES6"问题,需要注释掉,要么就是更改依赖文件中的process.hrtime为Date.now,这个第二种我没有试在打包部署之后会不会有什么问题