Eri*_*cko 2 uploader vue.js axios quasar-framework
关于类星体框架上传器组件的问题。我需要将图像发布到一个 URL,该 URL 将重命名上传的文件并返回完整路径。
我正在使用上传工厂和axios
但是我在理解如何将文件传递给 axios 时遇到了问题,就好像它只是一个输入类型文件一样。基本上,我需要将其设置为如果我正在发送一个带有单个输入文件的表单,如下所示:
<input type="file" name="banner">
Run Code Online (Sandbox Code Playgroud)
这是组件:
<q-uploader
url=""
extensions=".gif,.jpg,.jpeg,.png"
:filter="filterFiles"
:upload-factory="uploadFile" />
Run Code Online (Sandbox Code Playgroud)
这是上传方法,但我不断收到来自服务器的错误响应。
uploadFile (file, updateProgress) {
const formData = new FormData()
formData .set('banner', file)
var headers = {
'Content-Type': 'multipart/form-data'
}
axios.post('http://someurl/uploadFile', formData , headers)
.then(function (response) {
console.log(response)
})
.catch(function (response) {
console.log(response)
})
}
Run Code Online (Sandbox Code Playgroud)
如果我使用 method="post" enctype="multipart/form-data"和一个
<input type="file" name="banner">
Run Code Online (Sandbox Code Playgroud)
我通过处理/上传的图像 URL 从服务器得到我的 OK 响应
我已成功将文件上传到 python API。
V1 更新
使用@added -> function(files)
方法。
这是组件:
<q-uploader
url=""
extensions=".gif,.jpg,.jpeg,.png"
@add="file_selected"
/>
<q-btn @click="uploadFile()">Upload</q-btn>
Run Code Online (Sandbox Code Playgroud)
数据:
data() {
return {
selected_file:'',
check_if_document_upload:false
}
}
Run Code Online (Sandbox Code Playgroud)
方法
file_selected(file) {
this.selected_file = file[0];
this.check_if_document_upload=true
},
uploadFile(){
let fd = new FormData();
fd.append("file", this.selected_file);
axios.post('/uploadFile',fd,{
headers: { 'Content-Type': undefined},
}).then(function (response) {
if (response.data.ok) {
}
}.bind(this));
}
Run Code Online (Sandbox Code Playgroud)
这对我来说很好用。
归档时间: |
|
查看次数: |
6659 次 |
最近记录: |