【发布时间】:2019-08-02 08:25:43
【问题描述】:
这是我在这里的第一篇文章,尽管我一直在阅读它,所以请以各种方式纠正我,我可能没有正确地问这个问题。我正在构建一个 vue 应用程序,它将图像发送到我服务器上的一个文件夹。为了做到这一点,我尝试使用 Axios.post 将我的 formData 发送到我的 PHP 文件进行处理。我已经测试了 php.ini 中的权限是否正常工作(它们是,我有同一篇文章的另一个版本,它使用原始 php 而没有 ajax 请求,它工作正常,但在我试图加载的新窗口中加载避免)。
以下是我认为相关的内容。
Vue 组件
<script src="https://cdnjs.cloudflare.com/ajax/libs/vue/2.5.17/vue.js"></script>
Vue.component('uploader1', {
props:['yo'],
template:
`<div>
<label>
<div class="cButton">Artwork Image(1)</div>
<input class="hiddenInput" id="file" type="file" ref="file" @change="onFileChanged">
</label>
<div class="cButton" @click="onUpload">Upload</div>
</div>`,
data(){
return{selectedFile: null}
},
methods:{
onFileChanged (event) {
this.selectedFile = event.target.files[0]
},
onUpload() {
const formData = new FormData()
// formData.append('myFile', this.selectedFile, this.selectedFile.name)
// console.log(this.selectedFile)
// console.log(formData.get('myFile'))
axios.post('http://asagiannini.com/crit/axios_upload.php', formData, {
headers: {
'Content-Type': 'multipart/form-data'
}
}).then(function(data){
console.log(data.data);
})
.catch(function(){
console.log('FAILURE!!');
});
},
},
})
我已经确认 formdata 附加工作正常。我已经确认 Axios 正在正确加载。我已经确认我的服务器支持文件上传,但我不知道为什么,当我在我的 php 中回显 $_FILES 时,它会显示为一个空数组。
【问题讨论】:
-
是你最后一个版本的代码吗?为什么你注释掉了
formData.append? -
对不起,那些被我试图解决问题的东西注释掉了。实际上他们不应该。
标签: php ajax vuejs2 upload axios