node.js - react native通过image-picker选择了图片并通过fetch上传,后端nodejs怎么接?
PHP中文网
PHP中文网 2017-04-17 16:24:11
0
2
700

这是reactnative的代码

uploadImage(imageuri){ let formData = new FormData(); let file = {uri: imageuri,type:'multipart/form-data',name:'image.png'}; formData.append('files',file); fetch('http://127.0.0.1:8080/image',{ method:'POST', headers:{ 'Content-Type':'multipart/form-data', }, body:fromData, }) .then((response)=>response.text()) .then((responseData)=>{ console.log('responseData',responseData); }) .catch((error)=>{console.error('error',error)}); }

后端 express

app.post('/image',function(req,res){后面不知道如何处理,才能保存到数据库或者保存到本地
PHP中文网
PHP中文网

认证高级PHP讲师

reply all (2)
阿神

https://github.com/expressjs/...

https://cnodejs.org/topic/564...

可以参考上面的链接,使用multer

文件的话一般不保存到数据库

    迷茫

    后端express
    打印req.body,看看req.body.files有没有值,这个值是一个对象,包含你上传的文件相关信息,文件名,大小等,然后从中提取并存到你想存的文件夹。
    formidable中间件,express底层就是用它实现的。以下是官方例子。

    var formidable = require('formidable'), http = require('http'), util = require('util'); http.createServer(function(req, res) { if (req.url == '/upload' && req.method.toLowerCase() == 'post') { // parse a file upload var form = new formidable.IncomingForm(); form.parse(req, function(err, fields, files) { res.writeHead(200, {'content-type': 'text/plain'}); res.write('received upload:\n\n'); res.end(util.inspect({fields: fields, files: files})); }); return; } // show a file upload form res.writeHead(200, {'content-type': 'text/html'}); res.end( '
    '+ '
    '+ '
    '+ ''+ '
    ' ); }).listen(8080);

    soonfy

      Latest Downloads
      More>
      Web Effects
      Website Source Code
      Website Materials
      Front End Template
      About us Disclaimer Sitemap
      php.cn:Public welfare online PHP training,Help PHP learners grow quickly!