vue.js - Vue.js 图片上传表单数据
问题描述
我正在尝试在 Vue.js 中上传图像并使用 axios 将其发送到服务器,但我遇到了一些错误。
首先:
我正在尝试像 formData 一样发送它。不是 base64 格式。
这是我的输入:
<label>File
<input type="file" id="file" ref="file" v-on:change="onChangeFileUpload()"/>
</label>
<button v-on:click="submitForm()">Upload</button>
这是我的数据层和方法:
export default {
data() {
return {
file: ''
}
},
methods: {
submitForm(){
let formData = new FormData();
formData.append('file', this.file);
this.axios.post('apiURL',
formData,
{
headers: {
'Content-Type': 'multipart/form-data',
'token': '030303039jddjdj'
}
}
).then(function(data){
console.log(data.data);
})
.catch(function(){
console.log('FAILURE!!');
});
},
onChangeFileUpload(){
this.file = this.$refs.file.files[0];
}
}
}
我正在尝试在发送到服务器之前显示图像。
<img :src="file" />
但我无法显示图像
我收到错误:
[object%20File]:1 GET http://localhost:3000/[object%20File] 404 (Not Found)
我在哪里弄错了?
解决方案
这是生成图像的codepen。
https://codepen.io/Atinux/pen/qOvawK
试试这个文件上传。
uploadFile(){
let fd = new FormData();
fd.append("file", this.file);
this.axios.post('/uploadFile',fd,{
headers: { 'Content-Type': undefined,
'Authorization': `Bearer ${this.token}` },
}).then(function (response) {
if (response.data.ok) {
}
}.bind(this));
}
推荐阅读
- python - 将 ColumnTransformer() 结果附加到管道中的原始数据?
- php - 使用 PHP 向表单添加变量
- javascript - 如何循环遍历 JavaScript 对象并更改值?
- python - 在 .dat 文件 python 中的特定列之间添加列
- html - tbody 上没有固定高度的动态 tbody 滚动
- r - R中分数函数中的数值爆炸问题
- python-3.x - Pypyodbc 查询返回不正确的数据
- excel - 修改 ThisWorkbook 中的图像
- react-native - 滚动视图在本机反应中没有以正确的方式工作
- html - 在ionic 3中将偶数绑定到动态附加的html