如何解决ASP Net Core Filepond 从服务器加载文件
我有一个项目,它使用 Filepond 上传文件,我需要它从服务器加载文件。
我已经关注了 docs 但它不起作用。 Filepond 给出错误 Error during load 400
,它甚至不发送从服务器加载文件的请求
这是我的 javascript
let pond = FilePond.create(value,{
files: [
{
// the server file reference
source: 'e958818e-92de-4953-960a-d8157467b766',// set type to local to indicate an already uploaded file
options: {
type: 'local'
}
}
]
});
FilePond.setoptions({
labelFileProcessingError: (error) => {
return error.body;
},server: {
headers: {
'@tokenSet.HeaderName' : '@tokenSet.RequestToken'
},url: window.location.origin,process: (fieldName,file,Metadata,load,error,progress,abort) => {
// We ignore the Metadata property and only send the file
fieldName = "File";
const formData = new FormData();
formData.append(fieldName,file.name);
const request = new XMLHttpRequest();
request.open('POST','/UploadFileTemp/Process');
request.setRequestHeader('@tokenSet.HeaderName','@tokenSet.RequestToken');
request.upload.onprogress = (e) => {
progress(e.lengthComputable,e.loaded,e.total);
};
request.onload = function () {
if (request.status >= 200 && request.status < 300) {
load(request.responseText);
}
else {
let errorMessageFromServer = request.responseText;
error('oh no');
}
};
request.send(formData);
},revert: "/UploadFileTemp/revert/",load: "/UploadFileTemp/load"
}
})
这是我的控制器
public async Task<IActionResult> Load(string p_fileId)
{
//Code to get the files
//Return the file
Response.Headers.Add("Content-disposition",cd.ToString());
Response.Headers.Add("X-Content-Type-Options","nosniff");
return PhysicalFile(filePath,"text/plain");
}
注意
我已经通过邮递员测试了我的控制器并且它可以工作。我还检查了 content-disposition
标头
解决方法
我建议先设置所有选项,然后设置文件属性。
您正在设置 files
,然后您告诉 FilePond 在哪里可以找到它们,它可能已经在尝试加载它们,但还没有端点。
将代码重构为如下所示应该可以解决问题。
let pond = FilePond.create(value,{
server: {
headers: {
'@tokenSet.HeaderName': '@tokenSet.RequestToken',},url: window.location.origin,process: (fieldName,file,metadata,load,error,progress,abort) => {
// your processing method
},revert: '/UploadFileTemp/revert',load: '/UploadFileTemp/load',files: [
{
// the server file reference
source: 'e958818e-92de-4953-960a-d8157467b766',// set type to local to indicate an already uploaded file
options: {
type: 'local',],});
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。