javascript - 从 Drop 事件中获取文件路径
问题描述
我有一些 javascript 代码允许用户在 IE 中拖放文件。
我遇到的问题是他们希望文件被拖动后删除,但我似乎无法获得文件路径,只有名称。
我看过很多关于 的引用,但是当我尝试它时e.dataTransfer.files[0].path
它总是会回来。'undefined'
有什么想法为什么e.dataTransfer.files[0].path
不起作用,或者我如何获取文件路径?
$(document).ready(function (ex) {
var holder = document.getElementById('holder');
holder.ondragover = function () { this.className = 'hover'; return false; };
holder.ondrop = function (e) {
e.preventDefault();
var file = e.dataTransfer.files[0];
var path = e.dataTransfer.files[0].path;
fileArray.push(file);
//alert(e.target.id);
var reader = new FileReader();
reader.readAsDataURL(file);
};
});
解决方案
这对于 Web 应用程序是不可能的,但是如果您的用户会在他们的机器上运行应用程序,您可以构建一个电子应用程序。在电子内部,您将获得该e.dataTransfer.files[0].path
属性,然后您可以使用它来删除文件。
推荐阅读
- typescript - 引用从 npm 类型导入的枚举时出错
- php - 从 WP ALL IMPORT 导入帖子后如何在 Wordpress 中更新帖子元
- angularjs - asp.net 415 不支持的媒体类型与 formData POST
- connection - 如何在 Rails 中保留 Cloud Firestore 的连接池
- javascript - 告诉 VSCode 忽略可能未初始化的 Typescript 类属性值
- amazon-s3 - AttributeError:“S3File”对象在运行 to_csv 时没有属性“getvalue”
- c - 使用c中的十六进制地址获取值
- mongodb - 如何使用 arrayFilters 和 $push 同时更新同一个数组字段
- c# - 如何从给定的 MDX 查询中获取多维数据集名称
- laravel - 第五个参数未显示在 cart.index 页面中