【发布时间】:2018-10-10 23:00:08
【问题描述】:
这是我的html:
<label class="btn btn-outline-info" v-if="plan">
<i class="fas fa-cloud-upload-alt"></i> Upload Appraisal<input type="file" id="file" ref="file" v-on:change="handleFilesUpload()" hidden>
</label>
这是我的 javascript:
handleFilesUpload(){
this.file = this.$refs.file.files[0]
let formData = new FormData()
formData.append('appraisal', this.file)
this.uploadAppraisal(formData)
},
uploadAppraisal(data) {
axios.post( '/api/test',
data, {
headers: {
'Content-Type': 'multipart/form-data'
}
}
).then(response => {
this.info = response.data
})
.catch(function(){
console.log('FAILURE!!')
});
}
我在后端运行 Laravel Spark。我期待收到一份名为评估的文件。但是,当我这样做时,我得到了错误:
if ($request->hasFile('appraisal')) {
//
}
所以我有点困惑。我正在提交 xml 文件,此时我只是尝试对它们进行 json 编码并返回该结果。我认为我这样做是对的,但可能会关闭。任何帮助表示赞赏。快速说明:$request->appraisal 确实存在,据我所知它只是空的。
这是我的 api 中 print_r($request->all()) 的结果:
Array ( [appraisal] => Illuminate\Http\UploadedFile 对象 ( [test:Symfony\Component\HttpFoundation\File\UploadedFile:private] => [originalName:Symfony\Component\HttpFoundation\File\UploadedFile:private] = > test.xml [mimeType:Symfony\Component\HttpFoundation\File\UploadedFile:private] => 应用程序/八位字节流 [大小:Symfony\Component\HttpFoundation\File\UploadedFile:private] => 0 [错误:Symfony\Component \HttpFoundation\File\UploadedFile:private] => 1 [hashName:protected] => [pathName:SplFileInfo:private] => [fileName:SplFileInfo:private] => )
谢谢!
【问题讨论】:
标签: laravel file-upload vue.js laravel-spark