Heim  >  Fragen und Antworten  >  Hauptteil

node.js – Ich verwende FormData(), um Bilder hochzuladen. In den Hintergrund-NodeJS schlägt die Analyse der Bodyparaer-JSON-Methode fehl ... Der Code lautet wie folgt

Der Zweck besteht zunächst darin, dass Menschen die Bilder direkt auf andere Webseiten kopieren und bei der Verwendung hochladen können


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;
}

Um den Bildtyp herauszubekommen, richtig?

Hier kommt der entscheidende Teil

const formData = new FormData();

formData.append('file', file.getAsFile(), 'image.png');

Dann reiche ich es per Ajax ein

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

Das Backend wird als Express abgekürzt. Der Master muss

Die tote Routine
kennen

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

Dann wurde ein Fehler gemeldet

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)
略

Es gibt ein Problem beim Parsen. Was soll ich tun? Ich habe viele Methoden im Internet ausprobiert, z. B. das Ändern des Headers ohne Verwendung von JSON, aber ich gebe immer noch die Methode bodypaarser.json ein und erhalte dann ein -. - Fehler! !

Bitte frage Gott! Hat jemand ähnliche Probleme gehabt

黄舟黄舟2680 Tage vor817

Antworte allen(1)Ich werde antworten

  • 巴扎黑

    巴扎黑2017-05-24 11:40:44

    然而我今日重启项目以后 ,成功了。 我母鸡啥原因,代码没改过, 奇葩!!!!!!!!!!

    Antwort
    0
  • StornierenAntwort