Vue.js Vue Dropzone在没有“的情况下不工作”;url";选项
我正在使用Vue Dropzone使用graphql上载文件。一切正常,但由于我使用graphql,我不需要在“dropzoneOptions”中添加URL,因为我将查询放入Vuex模块中的Axios API中,如下所示:Vue.js Vue Dropzone在没有“的情况下不工作”;url";选项,vue.js,file-upload,axios,graphql,vue-dropzone,Vue.js,File Upload,Axios,Graphql,Vue Dropzone,我正在使用Vue Dropzone使用graphql上载文件。一切正常,但由于我使用graphql,我不需要在“dropzoneOptions”中添加URL,因为我将查询放入Vuex模块中的Axios API中,如下所示: async vFileAdded(bomFile){ const formData = new FormData() const data = { query: ` mutation ( $file: Upload,
async vFileAdded(bomFile){
const formData = new FormData()
const data = {
query: `
mutation (
$file: Upload,
$projectId: ID!,
$region: String!,
$isTest: Boolean,
) {
uploadBom(
input: {
bom: $file,
projectId: $projectId,
region: $region,
isTest: $isTest,
}) {
project {
id
name
}
}
}
`,
variables: {
file: null,
projectId: "UHJvamVjdE5vZGU6MTU=",
region: "Lombardia",
isTest: true
}
}
formData.append('operations', JSON.stringify(data))
const map = {
'0': ['variables.file'],
}
formData.append('map', JSON.stringify(map));
formData.append('0', bomFile)
try {
axios.defaults.headers.common["Authorization"] =
"JWT " + localStorage.getItem("edilgo-token")
const result = await axios({
method: 'POST',
url: process.env.VUE_APP_API_URL,
data: formData,
})
console.log(result)
} catch (error) {
console.error(error)
}
},
现在,正如我所说,它可以工作,但前提是我在“dropzoneOptions”中使用假url。如果我没有在那里写任何东西,我甚至无法选择要上传的文件(现在我只使用“http://localhost“让它工作起来)
我还尝试在未设置“url”时拖放文件,它只是在浏览器中下载文件
我的问题是:
有没有更好的方法将Dropzone与graphql结合使用?也许我做错了
如果有人能帮助我,我将不胜感激。您必须在选项中声明autoProcessQueue并将其设置为false 使用它:
<dropzone id="foo" ref="el" :options="options" @vdropzone-file-added="sendingFile"></dropzone>
在您的方法中:
methods: {
sendingFile(file) {
// Dispatch your file
...
},
},
您必须在选项中声明autoProcessQueue并设置为false 使用它:
<dropzone id="foo" ref="el" :options="options" @vdropzone-file-added="sendingFile"></dropzone>
在您的方法中:
methods: {
sendingFile(file) {
// Dispatch your file
...
},
},
你找到了@Ionut解决方案了吗?不幸的是没有。但是我决定使用一个自定义URL来上传文件,而不是使用graphql,这就是为什么我没有在这里添加解决方案的原因,因为它不是找到的问题的真正解决方案@Jérémie ChazelleDid你找到了@Ionut的解决方案吗?不幸的是没有。但是我没有使用graphql,而是决定使用一个自定义URL来上传文件,这就是为什么我没有在这里添加解决方案,因为它并不是找到的问题的真正解决方案@杰里米·查泽勒