我使用Axios为Fat Free做了AJAX请求。
这是收件人代码:
$files = \Web::instance()->receive(function($file){
var_dump($file);
return (substr($file["type"],0,6)=="image/");
}, true);
if($files===false)
throw new \Exception\UnexpectedInput("U didn't provide any file");
这里是发件人(目前我使用Axios来完成这项工作。)
return new Promise((ok,err)=>{
var datanya = new FormData();
datanya.append(this.generateRandomString(), new Blob([file[0]], {type:"image/jpeg"}), "image.jpg");
// generate id for cancelation.
this.uploadCancelSource = CancelToken.source();
var config = {
cancelToken: this.uploadCancelSource.token,
onUploadProgress:(e)=>{
this.uploadProgress = Math.round( (e.loaded * 100) / e.total );
}
}
APICall.put("invoice/bukti", datanya, config).then(e=>{
});
});
有效负载对我来说似乎没问题,我的意思是,它传输文件名,内容类型和表单名称。但FatFree Web的类没有抓住它。它只是告诉它是application/octet-stream
。
这是有效载荷的屏幕截图
这是来自\Web::instance()->receive
你知道这个问题吗?
答案 0 :(得分:0)
类Web
的当前行为是主要问题。正如您在source code上看到的,或看到documentation,它在不同的请求方法上有不同的行为。
有点黑客,可以用来解决当前的问题,但我决定改变请求方法。