在线观看不卡亚洲电影_亚洲妓女99综合网_91青青青亚洲娱乐在线观看_日韩无码高清综合久久

鍍金池/ 問答/HTML5  iOS  網(wǎng)絡(luò)安全  HTML/ 使用 FormData 上傳圖片,調(diào)試中看不到圖片的二進(jìn)制數(shù)據(jù),卻顯示為[obj

使用 FormData 上傳圖片,調(diào)試中看不到圖片的二進(jìn)制數(shù)據(jù),卻顯示為[object File]

圖片描述

如上圖所示, name="files"的應(yīng)該顯示的是一個(gè)圖片的數(shù)組,希望可以看到圖片的二進(jìn)制數(shù)據(jù)以及它的圖片名稱與圖片類型,但是卻顯示個(gè) [object File],這是什么情況,該怎么解決呢?謝謝!剛上傳了兩張圖片。下面是圖片的獲取方法及上傳圖片的方法:

圖片的獲取及預(yù)覽方法:我把獲取的所有圖片都push到一個(gè)數(shù)組中,通過sessionStorage傳遞這個(gè)數(shù)組
function getImgList(){

var myfile = document.getElementById('file');    
var List = document.getElementsByClassName('img-list')[0];
var fileArr =  [];
var fileEntity = {};

myfile.addEventListener('change', function(event) {
    var files = this.files;
    
    if(!files)return;
    if(files.length > 0){
        jQuery('#imgList').show();        
    }else{
        jQuery('#imgList').hide();        
    }
    
    if(files){
        for(var i = 0;i<files.length;i++){    
            fileArr.push(files[i]);
            sessionStorage.setItem('arr',fileArr);
            //預(yù)覽
            var oLi = '<li><img src="'+URL.createObjectURL(files[i])+'" data-preview-src="" data-preview-group="1"><span class="close" onclick="closeli(this)" >&times;</span></li>';    
            List.innerHTML+=oLi; 
        }
    }
});

}

下面是上傳圖片及其它數(shù)據(jù)的方法:
function addTicket() {

var url = MyAnviz.baseUrl + '/ticket/index/save.html';

var title = jQuery('.js-ticket-title').val() ? jQuery('.js-ticket-title').val() : '';
var categoryValue = jQuery(".js-category").val() ? jQuery(".js-category").val() : '';
var modelValue = jQuery('.js-model').val() ? jQuery('.js-model').val() : '';
var troubleValue = jQuery('.js-trouble').val() ? jQuery('.js-trouble').val() : '';
var textareaValue = jQuery('.js-textarea').find('#textarea').val() ? jQuery('.js-textarea').find('#textarea').val() : '';
var imgArr = sessionStorage.getItem('arr');


var formData = new FormData();
formData.append('title',title);
formData.append('product_id',modelValue);
formData.append('ticketcategories',categoryValue);
formData.append('content',textareaValue);
formData.append("upfile[]", imgArr);

mui.ajax({
    type: "post",
    url: url,
    data: formData,
    cache: false,
    processData: false,
    contentType: false,
    beforeSend: function(data) {
          if(data.readyState == 0) {
               jQuery('.anviz-loading').show();
          }
    },
    success: function(data) {
        if(data.success == true) {
            mui.back();
            jQuery('#imgList').empty().hide();
        } else {
            mui.toast(data.message);
        }
    },
    complete: function(data) {
          if(data.status == 200) {
               jQuery('.anviz-loading').hide();
          }
    },
    error: function(data) {
        if(data.success == false) {
            mui.toast(data.message);
        }
    }
});

}

請(qǐng)問是哪里錯(cuò)了呢?
實(shí)在是頭疼,謝謝啊,麻煩了。

回答
編輯回答
毀了心

不要把filelist用JSON.stringify轉(zhuǎn)換,你應(yīng)該直接把files循環(huán)(多張的話,單張直接files[0]),一個(gè)一個(gè)用formData給append進(jìn)去,有興趣可以參考我的博客鏈接描述

2018年4月8日 21:17
編輯回答
怪痞

通過FormData的get方法打印
const param = new FormData()

    param.append('imagefile', this.imagefile)
    console.log(param.get('imagefile'))
2018年5月2日 00:56