webuploader拖拽上传文件/文件夹,如何获取文件的路径

发布于 2022-09-11 17:13:13 字数 1127 浏览 18 评论 0

webuploader拖拽上传文件或文件夹时,怎么获取到文件的路径webkitRelativePath。如果通过<input type="file"/>的方式,是可以获取到里面文件的路径,但是拖拽的话,看到里面的路径为空的。

// 当有文件被添加进队列的时候
        uploader.on('fileQueued', function( file ) {
            console.log(file);
            uploader.md5File( file )

           // 及时显示进度
           .progress(function(percentage) {
               console.log('Percentage:', percentage);
           })
            // 完成
            .then(function(val) {
                // console.log('md5 result:', val);
            });
        });

        uploader.on('uploadBeforeSend',function(object,data,headers){
            console.log(object);

            data.webkitRelativePath=object.file.source.source.webkitRelativePath?object.file.source.source.webkitRelativePath:"";
            console.log(data);
            data.fileId="";
        });

当我用input控件上传的时候,fileQueued事件触发和uploadBeforeSend事件触发打印均可以获取到文件的路径,而使用拖拽上传的时候则获取到的路径为空。
clipboard.png
clipboard.png

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(3

年华零落成诗 2022-09-18 17:13:13

如果只是上传的话, js的 File对象了解一下,这个已经包含了整个文件内容了,可以直接添加到FormData上传了,路径这东西基本上是没什么作用的吧,至少个人没用到过,除非在electron环境下,electron对File对象进行了封装,里面有path属性,是文件的本地绝对路径

方圜几里 2022-09-18 17:13:13

在 webuploader_folder.js 添加一行代码 插入文件路径 大概2173行 然后在
uploader.on( 'fileQueued', function( file ) {
此方法中可以直接获取 var webkitRelativePath = file.source.source.fullPath;

webuploader_folder.js 代码如下:新增有注释那行就行
_traverseDirectoryTree: function (l, j) {
var i = e.Deferred(), k = this;
if (l.isFile) {
l.file(function (m) {
m.fullPath = l.fullPath;//(插入文件路径)
j.push(m);
i.resolve()
})

要走就滚别墨迹 2022-09-18 17:13:13

拖拽文件夹怎么做的?

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文