文档章节

post方式发送接收文件

c
 caiyezi
发布于 2016/11/08 20:24
字数 293
阅读 7
收藏 0
//文件post发送
var express = require('express');
var router = express.Router();
var request = require("request");
var fs = require("fs");
fs.readFile("public/img/test.jpg", function (err, data) {
     if (err) {
         res.send({"errMsg":"'图片上传失败'"});
         return;
     }
     var base64str = new Buffer(data).toString('base64'); //图片转字节
     var mkJSON = {
         path: "public/upload",
         img: base64str,
         encoding: 'utf8'
     };
     request({
         url: "127.0.0.1:3000/img",
         method: "post",
         form: {
             mark: "IMG",
             content: JSON.stringify(mkJSON)
         }
     }, function (error, response, body) {
         if (!error && body != undefined && response.statusCode == 200 && body.indexOf("失败") < 0) {
             //fs.unlink(localPath);
                 res.send({
                     success: true
                 });
           } else {
                 console.log("err:" + body);
                     res.send({"errMsg": "图片post失败", success: false});
            }
       });
});
//post的文件进行接收
router.post("/img", function (req, res) { var content = req.param('content'); if (null != content) { var temp = JSON.parse(content); var mkJSON = temp[0]; var filePath = mkJSON.path.replace(/\B\//, ''); filePath = filePath.substr(0, filePath.lastIndexOf("/"));if (!err) { //目录创建成功 fs.writeFileSync(mkJSON.path.replace(/\B\//, ''), new Buffer(mkJSON.img.replace(/ /g, '+'), 'base64')); //res.json({"newImgPath": constClass.ip + "/image/" + mkJSON.path.replace(/\B\//, '')}); res.send('图片接收成功!'); } else { //目录创建失败 res.send('图片接收失败'); } } else { res.send('图片接收失败'); } });

 thinkjs版:

async uploadAction() {
        let imgData = this.post("image");
        let base64Data = imgData.replace(/^data:image\/\w+;base64,/, "");
        let dataBuffer = new Buffer(base64Data, 'base64');
        let imgpath = imgutil.getImageUrl("jpg");
        let base64str = new Buffer(dataBuffer).toString('base64'); //图片转字节
        console.log(imgpath);
        let mkJSON = {
            path: imgpath,
            img: base64str,
            encoding: 'utf8'
        };
        let req = think.promisify(request.post);
        let reqObj = {
            url: think.config("makesite"),
            method: "post",
            form: {
                mark: "IMG",
                content: JSON.stringify(mkJSON)
            }
        };
        let rs = await req(reqObj);
        if(rs != undefined && rs.statusCode == 200 && rs.body.indexOf("失败") < 0){
            return this.success(think.config("imgsite")+imgpath);
        }else{
            return this.fail(1,"图片上传出错");
        }
    }

 

本文转载自:http://www.cnblogs.com/vipzhou/p/4952552.html

共有 人打赏支持
c
粉丝 1
博文 108
码字总数 0
作品 0
西安
程序员
PHP-PHP如何以post形式发送xml数据

PHP如何以POST形式发送XML数据,PHP如何接收XML文件 准备两个PHP文件:一个是发送数据的postXml.php,另一个是接收数据的getXml.php 发送XML: postXml.php 第一种发送方式,也是推荐的方式, 使...

王永濤
2015/11/30
124
0
1、学习用c/c++写cgi程序

CGI全称Common Gateway Interface(共同编程接口),是一种编程接口,不论什么语言,只要按照该接口的标准编写出来的程序,即可叫做CGI程序。CGI 程序的输入/输出是使用编程语言的标准输入/...

hopegrace
2011/08/21
0
0
jsp的 MSXML2.ServerXMLHTTP对象,xml形式传输 跨域

set Https=server.createobject("MSXML2.ServerXMLHTTP") Https.setTimeouts 20000,20000,20000,20000 Https.open "POST","http://www.xxxx.com",false Https.send "12345678" 上面为asp的代......

Run佳
2011/02/12
648
1
flask request 对象

flask request 对象 这个对象是WEB客户端发送到web服务端的全局请求对象,request需要从flask模块中导入。 form args cookies files method request监听如下信息: 1、form(POST) -> Immutab...

煮酒品茶
2016/08/04
0
0
nodejs接收post请求参数

nodejs接收post请求参数 1.1-浏览器发送post请求参数的方式 1.2-服务端接收post请求参数的方式 post请求参数不直接在url路径中拼接,而是放在请求体中发送给服务器 1.1-浏览器发送post请求参...

u013263917
2017/11/30
0
0

没有更多内容

加载失败,请刷新页面

加载更多

下一页

MySQL 8 在 Windows 下安装及使用

MySQL 8 带来了全新的体验,比如支持 NoSQL、JSON 等,拥有比 MySQL 5.7 两倍以上的性能提升。本文讲解如何在 Windows 下安装 MySQL 8,以及基本的 MySQL 用法。 下载 下载地址 https://dev....

waylau
36分钟前
0
0
微信第三方平台 access_token is invalid or not latest

微信第三方开发平台code换session_key说的特别容易,但是我一使用就带来无穷无尽的烦恼,搞了一整天也无济于事. 现在记录一下解决问题的过程,方便后来人参考. 我遇到的这个问题搜索了整个网络也...

自由的开源
今天
0
0
openJDK之sun.misc.Unsafe类CAS底层实现

注:这篇文章参考了https://www.cnblogs.com/snowater/p/8303698.html 1.sun.misc.Unsafe中CAS方法 在sun.misc.Unsafe中CAS方法如下: compareAndSwapObject(java.lang.Object arg0, long a......

汉斯-冯-拉特
今天
2
0
设计模式之五 责任链模式(Chain of Responsibility)

一. 场景 相信我们都有过这样的经历; 我们去职能部门办理一个事情,先去了A部门,到了地方被告知这件事情由B部门处理; 当我们到了B部门的时候,又被告知这件事情已经移交给了C部门处理; ...

JackieRiver
今天
1
0
Android中的设计模式之命令模式

参考 《设计模式:可复用面向对象软件的基础 》5.2 Command 命令 对象行为型模式 《Android源码设计模式解析与实战》第11章 让程序畅通执行--命令模式 意图 将一个请求封装为一个对象,从而使...

newtrek
昨天
6
0

没有更多内容

加载失败,请刷新页面

加载更多

下一页

返回顶部
顶部