私はファイルのアップロードのために反応/ノードに取り組んでいます。 ファイルリクエストをAPIリクエストに渡すのではなく、APIリクエストのボディ部分に渡しています。 私のコードは私がノード/エクスプレスでのノード/ Express.js マイAPIコードを使用してサーバにこの画像をアップロードしたい、などのreq.filesを使わずに反応とノードで画像をアップロード
import React, { Component } from 'react';
import request from 'superagent';
class App extends Component {
constructor(props) {
super(props);
this.state = {
image1: '',
};
this.handleUploadFile = this.handleUploadFile.bind(this);
this.handleSubmit = this.handleSubmit.bind(this);
};
handleUploadFile = (event) => {
console.log("event", event.target);
this.setState({
image1: event.target.files[0],
});
}
handleSubmit(e) {
e.preventDefault();
const dataDemo = {
image: this.state.image1,
};
request
.post(API_URL)
.set('Content-Type', 'application/json')
.send(dataDemo)
.end(function (err, res) {
console.log("err", err);
console.log("res", res);
})
}
render() {
return (
<div>
<form encType="multipart/form-data">
<div style={{width: '100%', marginTop: '10px'}}>
Image 1
<input name="image1" type="file" onChange={this.handleUploadFile} />
</div>
<div style={{width: '100%', marginTop: '10px'}}>
<input type="submit" name="submit" value="submit" onClick={this.handleSubmit} />
</div>
</form>
</div>
)
}`
で反応します。
この画像をAPIを使用してアップロードし、Node/Expressを使用してサーバー(フォルダ内)に保存する方法を教えてください。私のノードサーバのコードは次のようである
、
router.post(END_POINT,function (req, res) {
//I want to add upload code here without any third party module and without req.files/req.file.
})
私を助けてください。前もって感謝します。
Expressは、それ自体で体を解析しません。あなたはミドルウェアを解析するボディが必要です。自分でやりたいのなら、 'multer'や' body-parser'モジュールのコードをチェックアウトしてください。 –
だから私たちはここでマルターを使うことができますか? 問題はここでは1つのイメージしか記述していないが、複数のイメージがあるからです。 10以上のように。 – Akib
質問を書き直す必要があります。あなたが達成したいことについて、あなたが今のところ明らかにしていないことがあります。それにかかわらず、multerは任意の数のファイルを処理できます。 –