在 digitalocean spaces 中将图像从一个文件夹复制到另一个文件夹
Copy images from one folder to another in digitalocean spaces
我正在使用数字海洋空间,我已将其中的图像上传到一个临时文件夹中。现在我想将该图像从临时文件夹移动到永久文件夹。我搜索了所有的东西,但没有什么令人满意的。有可能这样做吗?
如果是,请帮助我 javascript 代码。
首先我生成了签名 url 并在签名 url 的帮助下将图像上传到 digitalocean 空间。以下是生成签名 url 和上传图片的代码。
const getSignedUrl = async () => {
const body = {
fileName: 'temp/' + file.name,
fileType: file.type,
}
const response = await fetch(`${API_URL}/presigned_url`, {
method: 'POST',
body: JSON.stringify(body),
headers: { 'Content-Type': 'application/json' }
})
const { signedUrl } = await response.json()
return signedUrl
}
const uploadFile = async signedUrl => {
const res = await fetch(signedUrl, {
method: 'PUT',
body: file,
headers: {
'Content-Type': file.type,
'x-amz-acl': 'public-read',
}
})
return res
}
请帮助我如何将图像从临时文件夹移动到永久文件夹。
所以在搜索之后我终于得到了答案,
在前端,我调用 API 来复制我的图像
const copyFile = async (file) => {
try {
const body = {
fileName: file.name
}
const res = await fetch(`${API_URL}/copy_file`, {
method: 'PUT',
body: JSON.stringify(body),
headers: { 'Content-Type': 'application/json' }
})
return res
} catch (error) {
console.log(error);
}
}
在后端,我做的 API 是
app.put('/copy_file', (req, res) => {
const fileName = req.body.fileName
console.log("body", fileName);
const params = {
Bucket: config.spaces.spaceName,
CopySource: `/bucketName/temp/${fileName}`,
Key: `original/${fileName}`,
}
spaces.copyObject(params, function (err, data) {
if (err) {
console.log("Error", err)
// console.log(err, err.stack); // an error occurred
} else {
res.json({ data })
}
});
});
这会将您的图像复制到原始文件夹中
我正在使用数字海洋空间,我已将其中的图像上传到一个临时文件夹中。现在我想将该图像从临时文件夹移动到永久文件夹。我搜索了所有的东西,但没有什么令人满意的。有可能这样做吗? 如果是,请帮助我 javascript 代码。
首先我生成了签名 url 并在签名 url 的帮助下将图像上传到 digitalocean 空间。以下是生成签名 url 和上传图片的代码。
const getSignedUrl = async () => {
const body = {
fileName: 'temp/' + file.name,
fileType: file.type,
}
const response = await fetch(`${API_URL}/presigned_url`, {
method: 'POST',
body: JSON.stringify(body),
headers: { 'Content-Type': 'application/json' }
})
const { signedUrl } = await response.json()
return signedUrl
}
const uploadFile = async signedUrl => {
const res = await fetch(signedUrl, {
method: 'PUT',
body: file,
headers: {
'Content-Type': file.type,
'x-amz-acl': 'public-read',
}
})
return res
}
请帮助我如何将图像从临时文件夹移动到永久文件夹。
所以在搜索之后我终于得到了答案, 在前端,我调用 API 来复制我的图像
const copyFile = async (file) => {
try {
const body = {
fileName: file.name
}
const res = await fetch(`${API_URL}/copy_file`, {
method: 'PUT',
body: JSON.stringify(body),
headers: { 'Content-Type': 'application/json' }
})
return res
} catch (error) {
console.log(error);
}
}
在后端,我做的 API 是
app.put('/copy_file', (req, res) => {
const fileName = req.body.fileName
console.log("body", fileName);
const params = {
Bucket: config.spaces.spaceName,
CopySource: `/bucketName/temp/${fileName}`,
Key: `original/${fileName}`,
}
spaces.copyObject(params, function (err, data) {
if (err) {
console.log("Error", err)
// console.log(err, err.stack); // an error occurred
} else {
res.json({ data })
}
});
});
这会将您的图像复制到原始文件夹中