【发布时间】:2019-03-15 00:30:27
【问题描述】:
我正在开发一个社交博客,它有一个内置 JavaScript 的编辑器,用于由用户创建博客。我最大的问题之一是上传文件及其限制。现在,为了自动保存用户帖子,我将同时上传到服务器的图像存储起来。但问题是当用户从编辑器中删除图像时,因为:
- 请求数量可能过多(即使有很多)
- 在 Ckeditor 中我有一个上传程序,但没有从服务器中删除它(或者至少我不知道如何)
- 最后是自动保存的好主意(?)
我的编辑器是 ckeditor5 的定制版本,为了上传文件,我使用了一个像这样的上传适配器:
export default class UploadAdapter {
constructor(loader, article) {
this.loader = loader;
this.article = article;
}
upload() {
return new Promise((resolve, reject) => {
let image = new FormData();
let url = '/articles/imageUpload';
image.append('upload', this.loader.file);
image.append('token', this.article.token);
axios.post(url, image)
.then(response => {
console.log(response);
if (response.data.uploaded) {
resolve({
default: response.data.url,
});
}
else {
reject(response.data.error.message);
}
}).catch(error => {
console.log(error);
});
});
}
}
【问题讨论】:
-
6 点赞和 3 颗星,似乎是一个热门话题。恭喜。 “但问题是当用户从编辑器中删除图像时”会出现什么问题?
-
我们错过了您服务器端的一些信息,但我认为您需要一种方法来唯一地识别上传的带有哈希的图像,并在您的服务器端使用一种方法来删除它
-
感谢您的支持,我试图澄清我的问题@kerbholz
-
@kerbholz 是的,我认为这是一个常见问题,我的应用程序使用不同的堆栈但相同的功能 ala 在编辑器中上传图像,但是当用户删除它时,我会发生不必要的上传,因为一旦用户插入它它被上传
-
@Badgy 实际上,这就是问题 :)) session 可以在这里选择吗?我的意思是一切都保存在会话中,最后通过上传最后一个版本上传。安全吗?
标签: php laravel vue.js ckeditor