问题描述
我正在尝试在vuejs,turbolinks和rails中使用axios实现上传进度栏。 因此我添加了以下代码,该代码可在Safari中使用,但不能在Chrome中完全使用。
// initialize
import VueAxios from 'vue-axios';
import axios from 'axios';
Vue.use(VueAxios,axios);
document.addEventListener('turbolinks:load',() => {
axios.defaults.headers.common['X-CSRF-Token'] = document.querySelector(`Meta[name="csrf-token"]`).getAttribute('content');
});
// form data prepare
const formData = new FormData();
formData.append('create_request[attachments_attributes][0][image]',fileElement.files[0]);
formData.append('create_request[attachments_attributes][0][note]','lorem ipsum');
// configuration
const config = {
onUploadProgress: (e) => {
console.log('uploading ...',e.loaded,e.total);
},onDownloadProgress: (e) => {
console.log('downloading ...');
}
}
// form submit
try {
await this.$http.put("/submit.json",formData,config);
} catch (err) {
...
}
“ onDownloadProgress”始终针对Safari和Chrome进行调用。 但是“ onUploadProgress ”仅在Safari中可用,从不在 Chrome 中不可用。 请让我知道原因。
解决方法
暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!
如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。
小编邮箱:dio#foxmail.com (将#修改为@)