express上传图片
var express = require('express') var app = express() var proxy = require('http-proxy-middleware') var fs = require("fs"); var formidable = require('formidable'); app.all('*', function (req, res, next) { res.header('Access-Control-Allow-Origin', '*'); //Access-Control-Allow-Headers ,可根据浏览器的F12查看,把对应的粘贴在这里就行 // res.header('Access-Control-Allow-Headers', 'Content-Type'); // res.header('Access-Control-Allow-Methods', '*'); // res.header('Content-Type', 'application/json;charset=utf-8'); next(); }); // 改为: app.use(express.json()); app.use(express.urlencoded()); var options = { target: 'http://10.254.222.170', //target: 'http://10.214.69.242:8080', changeOrigin: true, ws: true, pathRewrite: { '^/IDSJTVersion': '/IDSJTVersion' } } var options1 = { //target: 'http://10.254.201.218:8090', target: 'http://10.254.222.170:8080', changeOrigin: true, ws: true, pathRewrite: { '^/AtmosphericWeb': '/AtmosphericWeb' } } //var exampleProxy = proxy(options) //app.use('/api', exampleProxy) app.get('/liuhao', function (req, res) { res.send('我是服务端来的数据') }) app.post('/upload', function(req,res){ var form = new formidable.IncomingForm(); console.log('about to parse'); form.parse(req, function(error, fields, files){ console.log('parse done') console.log(files.upload.path); // 读取文件流并写入到public/test.png fs.writeFileSync('./test.png', fs.readFileSync(files.upload.path)); //重定向到结果页 res.send('我是服务端来的数据') }) }); app.use(express.static('public')) app.listen(3000, () => console.log('Example app listening on port 3000!'))
<form target="frame" action="/upload" method="POST" enctype="multipart/form-data">
<input type="file" name="upload" id="upload" multiple="multiple" value="" />
<button type="submit">提交</button>
</form>
<iframe name="frame"></iframe>
<script>
</script>