微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

在ondata事件中获取文件路径

如何解决在ondata事件中获取文件路径

我正在使用ondata事件将数据添加到formData,但是我需要在那里的相对文件路径(以防有人上载文件夹,因此上载后我可以在服务器上重新创建相同的结构,例如{{ 1}})

如何在ondata事件中获取_relativePath?

/myFolder/fileploaded.jpg

解决方法

没关系,我没有在docs中看到有更高级的处理功能:

FilePond.setOptions({
    server: {
        process:(fieldName,file,metadata,load,error,progress,abort,transfer,options) => {

            // fieldName is the name of the input field
            // file is the actual file object to send
            const formData = new FormData();
            formData.append(fieldName,file.name);

            const request = new XMLHttpRequest();
            request.open('POST','url-to-api');

            // Should call the progress method to update the progress to 100% before calling load
            // Setting computable to false switches the loading indicator to infinite mode
            request.upload.onprogress = (e) => {
                progress(e.lengthComputable,e.loaded,e.total);
            };

            // Should call the load method when done and pass the returned server file id
            // this server file id is then used later on when reverting or restoring a file
            // so your server knows which file to return without exposing that info to the client
            request.onload = function() {
                if (request.status >= 200 && request.status < 300) {
                    // the load method accepts either a string (id) or an object
                    load(request.responseText);
                }
                else {
                    // Can call the error method if something is wrong,should exit after
                    error('oh no');
                }
            };

            request.send(formData);
            
            // Should expose an abort method so the request can be cancelled
            return {
                abort: () => {
                    // This function is entered if the user has tapped the cancel button
                    request.abort();

                    // Let FilePond know the request has been cancelled
                    abort();
                }
            };
        }
    }
});

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。