【问题标题】:Vue-Resource upload file to PHPVue-Resource 上传文件到 PHP
【发布时间】:2018-08-13 22:32:46
【问题描述】:

我正在尝试通过资源发送图像并在 php 文件中恢复但我没有成功,这是我的 JS 文件:

//* AJAX *//
startAsyncNews: function(){
    if(this.sendimage){
        var formdata = new FormData();
        formdata.append("file",this.contentnew.imageFile );
        console.log(this.contentnew.imageFile);
    }   

    // POST /someUrl
    this.$http.post('controllers/newsController.php', { 
        data:{action : this.accion_new, data_new: this.contentnew , imgf : formdata}
    }).then(response => {
    }, response => {
        console.log("error");
    });
},
imageSelect: function($event){
    this.sendimage=true;
    this.contentnew.imageFile =$event.target.files[0];  
}

当我使用console.log = console.log (this.contentnew.imageFile) 时,它会正确显示图像的属性,也就是说,它可以很好地发送文件,但是当我在 php 中接收它并执行 vardump 时,我得到了这个对象(stdclass)# 3 (0) no properties no properties and with json_decode / encode 我把它弄空了,也试试

headers: {
    'content-type': 'multipart/form-data'
}

但它会产生以下错误:

multipart/form-data POST 中缺少边界

【问题讨论】:

    标签: javascript php vue.js


    【解决方案1】:

    您需要使用formdata.append(key,value) 函数将所有数据添加到formdata 对象中。
    然后你只需发送formdata

    formdata.append('action ',this.accion_new);
    formdata.append('data_new',this.contentnew);
    
    this.$http.post('controllers/newsController.php', { 
        data:formdata
    });
    // or just if i'm not mistaken
    this.$http.post('controllers/newsController.php',formdata);
    

    http 请求中的对象data

    【讨论】:

    • 在 php var_dump 中得到这个数组(0) { } object(stdClass)#1 (1) { ["data"]=> object(stdClass)#2 (0) { } } object( stdClass)#2 (0) { }
    • 你能试试第二个例子吗?并尝试转储 $_FILES。
    • 返回这个 :( ... array(0) {} 没有属性
    • 你可以尝试同样的事情,但不改变 headers 对象吗?
    • 我不包括标题对象:(
    【解决方案2】:

    我不知道this.accion_newthis.contentnew 是什么,但是这一行:

    this.$http.post('controllers/newsController.php', { 
        data:{action : this.accion_new, data_new: this.contentnew , imgf : formdata}
    })
    

    应该是:

      this.$http.post('controllers/newsController.php', formdata)
    

    【讨论】:

      猜你喜欢
      • 2018-04-15
      • 1970-01-01
      • 2021-02-26
      • 1970-01-01
      • 1970-01-01
      • 2016-03-28
      • 2011-12-16
      • 1970-01-01
      • 2017-03-07
      相关资源
      最近更新 更多