Javascript Fat Free无法通过文件上载捕获Axios FormData

Javascript Fat Free无法通过文件上载捕获Axios FormData,javascript,fat-free-framework,axios,Javascript,Fat Free Framework,Axios,我使用Axios来执行AJAX请求以消除脂肪 以下是接收器代码: $files=\Web::instance()->receive(函数($file){ var_dump($file); 返回(substr($file[“type”],0,6)=“image/”; },对); 如果($files==false) 抛出new\Exception\UnexpectedInput(“U未提供任何文件”); 这是发送者(目前我使用Axios来完成这项工作) 返回新承诺((确定,错误)=>{ var d

我使用Axios来执行AJAX请求以消除脂肪

以下是接收器代码:

$files=\Web::instance()->receive(函数($file){
var_dump($file);
返回(substr($file[“type”],0,6)=“image/”;
},对);
如果($files==false)
抛出new\Exception\UnexpectedInput(“U未提供任何文件”);
这是发送者(目前我使用Axios来完成这项工作)

返回新承诺((确定,错误)=>{
var datanya=新的FormData();
append(this.generateRandomString(),新Blob([file[0]],{type:“image/jpeg”}),“image.jpg”);
//生成取消的id。
this.uploadCancelSource=CancelToken.source();
变量配置={
cancelToken:this.uploadCancelSource.token,
onUploadProgress:(e)=>{
this.uploadProgress=Math.round((e.loaded*100)/e.total);
}
}
APICall.put(“invoice/bukti”,datanya,config)。然后(e=>{
});
});
有效负载对我来说似乎还可以,我的意思是,它传输文件名、内容类型和表单名称。但FatFree Web的班级没有抓住它。它只是告诉我们它是一个
应用程序/octet流

这是有效载荷的屏幕截图

下面是来自
\Web::instance()->receive的转储数据


你知道这个问题吗?

Web
的当前行为是主要问题。正如您在或上看到的,它在不同的请求方法上有不同的行为


一点黑客行为,可以用来解决当前的问题,但我决定更改请求方法。

这似乎是
PUT
POST
问题,参考:我需要使用
PUT
将文件提供给服务器:(为什么您需要一个
PUT
?您可以在调用
receive()之前尝试
$f3->VERB='POST'
但这是一个丑陋的黑客行为..取决于客户端的上传实现。我以前也曾为blueimp jquery上传程序使用过
$f3->VERB='POST'
,它工作得很好。看起来有点黑客行为,但如果上传程序不遵循常见的约定,我认为这是一个合理的黑客行为。Tahnkyu@xfra35和@ikkez!我想我会的更改请求方法,只是为了确保它不会在以后的版本中被破坏