我確定這有一個簡單的答案,但對於我的生活,我無法弄清楚如何去做。閱讀Fetch Promise的正文
我有以下快速端點用於上傳到Google雲端存儲。它的偉大工程,並從谷歌API的響應給我,我要傳回給我的前端唯一的文件名:
app.post('/upload', (req, res) => {
var form = new formidable.IncomingForm(),
files = [],
fields = [];
form
.on('field', function(field, value) {
fields.push([field, value]);
})
.on('file', function(field, file) {
files.push([field, file]);
})
.on('end', function() {
console.log('-> upload done');
});
form.parse(req, function(err, fields, files){
var filePath = files.file.path;
bucket.upload(filePath, function(err, file, apiResponse){
if (!err){
res.writeHead(200, {'content-type': 'text/plain'});
res.end("Unique File Name:" + file.name);
}else{
res.writeHead(500);
res.end();
}
});
});
return;
});
我通過調用該文件傳遞給它一個簡短的函數達到這個終點:
function upload(file) {
var data = new FormData();
data.append('file', file);
return fetch(`upload`,{
method: 'POST',
body: data
});
}
const Client = { upload };
export default Client;
這個功能是從我的前端被稱爲像這樣:
Client.upload(this.file).then((data) => {
console.log(data);
});
這最終console.log(data)
登錄到控制檯的響應。但是,我沒有看到任何地方我寫的回覆("Unique File Name:" + file.name
)
有沒有人有任何建議,我可以從客戶端的響應正文中檢索此信息?
編輯:
的data
看起來是這樣的,當我CONSOLE.LOG它:
編輯2:
當你使用'console.log'時,你的'data'看起來像什麼? –
添加屏幕截圖 – quicklikerabbit
謝謝我認爲我知道這個問題,給我一秒 –