node.js - 我用FormData() 來上傳圖片,後台nodejs,bodyparaer json方法解析失敗......程式碼如下
黄舟
黄舟 2017-05-24 11:38:44
0
1
806

首先 目的是為了人們用的時候可以直接複製其他網頁上的圖片直接拷貝過來,上傳


codeMirror.on('paste', this.paste.bind(this));
//是不是在paste方法中就会有codemirror 的方法,知道的应该懂
const file = clipboard(e.clipboardData.items);


//上面那个方法就是 
function clipboard(items) {
  let i = 0;
  let item;
  while (i < items.length) {
    item = items[i];
    if (item.type.indexOf('image') !== -1) {
      return item;
    }
    i++;
  }
  return false;
}

為了取出來image的型別對吧

關鍵的地方來了

const formData = new FormData();
formData.append('file', file.getAsFile(), 'image.png');

然後我再ajax提交

tools.ajax({
             url: ajaxProps.action,
             method: 'POST',
             data:formData,
            //  headers:{'Content-Type':'application/json'},
             async: true,
             dataType:ajaxProps.dataType,
             processData: false,
         }).....

後台就簡寫express大神肯定知道
死套路

#
app.use(bodyParser.json());
// app.use(bodyParser.multipart());
app.use(bodyParser.urlencoded({extended: true}));

然後就報錯了

SyntaxError: Unexpected token -
    at parse (C:\Users\wb-yuhaiqing.a\Desktop\discount\web_corpoation\node_modules\.1.17.1@bo
dy-parser\lib\types\json.js:83:15)
    at C:\Users\wb-yuhaiqing.a\Desktop\discount\web_corpoation\node_modules\.1.17.1@body-pars
er\lib\read.js:116:18
    at invokeCallback (C:\Users\wb-yuhaiqing.a\Desktop\discount\web_corpoation\node_modules\.
2.2.0@raw-body\index.js:262:16)
    at done (C:\Users\wb-yuhaiqing.a\Desktop\discount\web_corpoation\node_modules\.2.2.0@raw-
body\index.js:251:7)
    at IncomingMessage.onEnd (C:\Users\wb-yuhaiqing.a\Desktop\discount\web_corpoation\node_mo
dules\.2.2.0@raw-body\index.js:307:7)
略

解析出了問題,怎麼辦,試了網上好多方法,比如 改header ,不用json ,我試了,還是會進入這個bodypaarser.json 方法裡面去,然後 抱一個 -- 的錯誤! !
求大神!有沒有人遇過類似問題

黄舟
黄舟

人生最曼妙的风景,竟是内心的淡定与从容!

全部回覆(1)
巴扎黑

然而我今日重啟專案以後 ,成功了。 我母雞啥原因,代碼沒改過, 奇葩! ! ! ! ! ! ! ! ! !

熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板
關於我們 免責聲明 Sitemap
PHP中文網:公益線上PHP培訓,幫助PHP學習者快速成長!