tinymce - 在 TinyMCE 中,上传图像的名称会根据您使用拖放还是文件上传而有所不同。我们可以保留原来的名字吗?
问题描述
我实现了一个后端来上传图像并将它们保存在具有唯一名称的服务器上,这些名称基于原始名称并附加了 ms 时间戳以保持它们的唯一性。
当我使用拖放界面时,它会保留原始文件名,如下所示:
hands-1614581114338.jpeg
但是,如果我使用文件上传对话框,则会创建一个基于“blob”的名称,它具有自己唯一的时间戳名称,如下所示:
blobid1614589991819-1614590017686.jpg
有没有办法让文件上传对话框工作名称文件与拖放界面相同?
我试过了
images_reuse_filename: true
但显然那是为了别的。
谢谢。
解决方案
自定义上传处理程序:
images_upload_handler: function (blobInfo, success, failure) {
let xhr, formData;
xhr = new XMLHttpRequest();
xhr.withCredentials = false;
xhr.open('POST', 'upladhandler.php');
xhr.onload = function() {
let json;
if (xhr.status != 200) {
failure('HTTP Error: ' + xhr.status);
return;
}
json = JSON.parse(xhr.responseText);
if (!json || typeof json.location != 'string') {
failure('Invalid JSON: ' + xhr.responseText);
return;
}
success(json.location);
};
formData = new FormData();
formData.append('file', blobInfo.blob(), blobInfo.blob().name);
xhr.send(formData);
}
服务器端:
$original_filename = $_FILES['file']['name'];
推荐阅读
- javascript - 根据指定的属性将 python 中的数组元素拆分为单独的 HTML 表
- javascript - jQuery - 将复选框表转换为 json
- r - ggplot 相当于线框
- python - Python-iptables,带有接口的规则与 ipv6 数据包不匹配
- java - 在一个尝试语句中打开多个资源是否不可靠?为什么?
- eigen - LDLT 的自定义分配器
- css - nth-last-child 或 last-child 不工作
- c# - IServiceCollection.AddHostedService<>(); 不解决
- abap - abap 计算相似的行值
- javascript - Javascript数组,删除相同的组合数字但顺序不同