ファイルをクラウド機能にアップロードしようとしていますが、Expressを使用してリクエストを処理していますが、Expressを使用してFirebase上でExpressファイルを使用してHTTPファイルをアップロードする方法
サーバーサイドJS
const express = require('express');
const cors = require('cors');
const fileUpload = require('express-fileupload');
const app = express();
app.use(fileUpload());
app.use(cors());
app.post('/upload', (req, res) => {
res.send('files: ' + Object.keys(req.files).join(', '));
});
クライアント側のjs
const formData = new FormData();
Array.from(this.$refs.fileSelect.files).forEach((file, index) => {
formData.append('sample' + index, file, 'sample');
});
axios.post(
url,
formData,
{
headers: { 'Content-Type': 'multipart/form-data' },
}
);
このまったく同じコードがクラウド機能、REQに展開する際の、改行ようだ:私はローカルで動作するバージョンを作成しました。ファイルは未定義です。誰が何が起こっているのか分かりませんか?
私はこれが私の空の配列(同じクライアント側コード)だ、ローカルでもうまく働いたmulter
を使用しての外出を、持っていたが、一度クラウド機能にアップロード 編集:私は持っている
const app = express();
const upload = multer();
app.use(cors());
app.post('/upload', upload.any(), (req, res) => {
res.send(JSON.stringify(req.files));
});
私は 'express-fileupload'について知らないけど、' multer'モジュールを使ってファイルのアップロードをうまく受け取りました。 –
実例がありますか?私は 'multer'と' express-form-data'を試しましたが、何らかの理由でそれらのどれかで成功しなかったのです。 – Eindbaas
私はmulterを使って何かをローカルに設定しようとしましたが、すぐに機能しました(記事の編集を参照)。しかし、やはりFirebaseにデプロイすると結果は得られません。私は何が間違っているのか分かりません。 – Eindbaas