javascript - 上传后基于响应的 Dropzone.js 重命名文件
问题描述
我正在尝试找出一种方法,如何在使用 dropzone.js 上传后重命名文件,以便以后只需发送正确的名称即可将其删除。
我现在拥有的:
this.on("success", function(file, responseText) {
console.log(responseText); // responseText contains actual file name after server modifications
});
addRemoveLinks: true,
this.on("removedfile", function(file) {
var name = file.name;
$.ajax({
type: 'POST',
url: 'delete_file.html',
data: {
'file-name': name,
},
});
});
正如您在我的 ajax 数据中看到的那样,我发送的是初始文件名,而不是实际在服务器上的文件名(例如,如果有多个相同的命名文件,服务器将重命名它们)。我一直在考虑在成功时更改 previewElement 名称:
file.previewElement.querySelector(".name").textContent = responseText;
然后在ajax中引用这个,但它看起来不像是一种优雅的方法。
其他替代方法是创建一个带有 <file, new_name> 映射的地图,但我不确定这是否是矫枉过正。
您如何建议在上传后访问新文件名?
解决方案
我想出的最干净的选择是使用file.xhr.response
保存新名称的值而不是file.name
推荐阅读
- reactjs - 创建一个 React 组件只是为了保存道具是一种好习惯吗?
- python - 蟒蛇,硒。成功初始化 webdriver 但无法打开网页,因为“没有名为 get 的属性”
- python - 在 Windows 上的 Tor Chrome 中加载 Selenium 用户配置文件
- python - 使用 Pyglet 进行多处理会打开一个新窗口
- web-scraping - casperjs 无法访问甚至 wget 可以访问的某些网站
- rust - 在 Rust 结果的 Iter 上调用 map
- python - 如何使用python在Firestore中查询包含对象数组的文档
- python - 当还有数字类型的列时,Pandas groupby sum 不包括 timedelta 类型的列
- python - 条形图和标签上的值
- c++ - 如果我采用 A = 10^9 和 B=10^9 ,则以下代码给出负输出。为什么?它为我提供了小整数的正确输出