Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/447.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/256.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 从vuex存储操作传递对象_Javascript_Php_Vue.js_File Upload_Vuex - Fatal编程技术网

Javascript 从vuex存储操作传递对象

Javascript 从vuex存储操作传递对象,javascript,php,vue.js,file-upload,vuex,Javascript,Php,Vue.js,File Upload,Vuex,我在尝试使用FormData和Axios发送POST请求时遇到问题, .append()似乎可以工作,但在发出POST请求时,后端无法工作 获取提交的文件,请求为空 如何使用FormData(): 我做错了什么,你能告诉我吗? <input class="form-control block" type="file" ref="files" multiple required @change="handleFileUpload"> data() { return {

我在尝试使用FormData和Axios发送
POST
请求时遇到问题,
.append()
似乎可以工作,但在发出
POST
请求时,后端无法工作 获取提交的文件,请求为空

如何使用
FormData()

我做错了什么,你能告诉我吗?


<input class="form-control block" type="file" ref="files" multiple required @change="handleFileUpload">

  data() {
    return {
      email: '',
      username: '',
      files: [],
      isSubmitting: false,
      isSubmitted: false,
      isError: false,
    };
  },
  methods: {
    handleFileUpload() {
      // eslint-disable-next-line
      this.files = this.$refs.files.files;
    },
    async addWork() {
      try {
        this.isSubmitting = true;
        this.isError = false;
        const formData = new FormData();
        for (let i = 0; i < this.files.length; i++) {
          const file = this.files[i];
          formData.append(`files['${i}']`, file);
        }
        const { username, email } = this;
        formData.append('email', email);
        formData.append('username', username);
        await WorksRepository.addWork(formData);
        this.isSubmitted = true;
      } catch (e) {
        this.isError = true;
      } finally {
        this.isSubmitting = false;
      }
    },
数据(){ 返回{ 电子邮件:“”, 用户名:“”, 文件:[], 提交:错误, 提交的问题:错误, 伊瑟罗:错, }; }, 方法:{ handleFileUpload(){ //eslint禁用下一行 this.files=this.$refs.files.files; }, 异步addWork(){ 试一试{ this.isSubmitting=true; this.isError=false; const formData=new formData(); for(设i=0;i
您可以看到完整的示例

<input class="form-control block" type="file" ref="files" multiple required @change="handleFileUpload">

  data() {
    return {
      email: '',
      username: '',
      files: [],
      isSubmitting: false,
      isSubmitted: false,
      isError: false,
    };
  },
  methods: {
    handleFileUpload() {
      // eslint-disable-next-line
      this.files = this.$refs.files.files;
    },
    async addWork() {
      try {
        this.isSubmitting = true;
        this.isError = false;
        const formData = new FormData();
        for (let i = 0; i < this.files.length; i++) {
          const file = this.files[i];
          formData.append(`files['${i}']`, file);
        }
        const { username, email } = this;
        formData.append('email', email);
        formData.append('username', username);
        await WorksRepository.addWork(formData);
        this.isSubmitted = true;
      } catch (e) {
        this.isError = true;
      } finally {
        this.isSubmitting = false;
      }
    },