nodeJs 接收上传文件
前台:
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<title lang="en">upload</title>
</head>
<body>
<form method="post" id="uploadForm" action="http://localhost:3005/api/uploadKyc" enctype="multipart/form-data">
<label for="upload">File (Binary):</label>
<input type="file" name="idCardFront" class="fileupload" /><br/>
<input type="file" name="idCardBack" class="fileupload" /><br/>
<input type="file" name="idCardhandheld" class="fileupload" /><br/>
<input type="file" name="swornVideo" class="fileupload" /><br/>
<input type="button" class="submit" value="Submit" οnclick="sendFormFromHTML(this.form);"/>
</form>
</body>
</html>
<script type="text/javascript">
function sendFormFromHTML(form) {
//form = $(".uploadForm").form;
var formData = new FormData(form);
formData.append('id', '123456'); // alternative to hidden fields
var xhr = new XMLHttpRequest();
xhr.open('POST', form.action, true);
xhr.onload = function(e) { alert(this.responseText) };
xhr.send(formData);
return false;
}
</script>
还用form表单提交会自动跳转页面,所以改为ajax上传:
<form id="uploadForm" enctype="multipart/form-data">
<label for="upload">File (Binary):</label>
<input type="file" name="idCardFront" id="idCardFront" /><br/>
<input type="file" name="idCardBack" id="idCardBack" /><br/>
<input type="file" name="idCardhandheld" id="idCardhandheld" /><br/>
<input type="file" name="swornVideo" id="swornVideo" /><br/>
<input type="button" value="submit" οnclick="sendFormFromHTML(this.form);"/>
</form>
</body>
</html>
<script type="text/javascript" src="lib/jquery.min.js"></script>
<script type="text/javascript">
function sendFormFromHTML(form) {
var formData = new FormData(form);
// formData.append('id', '123456'); // alternative to hidden fields
$.ajax({
url: "http://localhost:3005/api/uploadKyc",
type: "POST",
data: formData,
cache: false,
processData: false, // 告诉jQuery不要去处理发送的数据
contentType: false // 告诉jQuery不要去设置Content-Type请求头});
success: function(result){
alert(result.code);
alert(result.msg);
}
});
};
</script>
后台:
var form = new multiparty.Form();
form.parse(request.payload, function(err, fields, files) {
fs.readFile(files.idCardFront[0].path,function(err,data){
if(!data || err){
return ryply({code:401,msg:"请上传身份证正面照片"});
}
var fileName = files.idCardFront[0].originalFilename;
var types = fileName.split('.'); //将文件名以.分隔,取得数组最后一项作为文件后缀名。
var picType = String(types[types.length-1]).toLocaleLowerCase();
if(picType=="jpg" || picType=="png" || picType=="jpeg"){
var date = new Date();
var ms = Date.parse(date); //计算当前时间与1970年1月1日午夜相差的毫秒数 赋值给ms以确保文件名无重复。
forntPath = appDir+"/kycFiles/front"+ ms +"." + String(types[types.length-1]);
fs.renameSync(files.idCardFront[0].path, forntPath);
}else{
return reply({code:411,msg:"身份证正面照片格式不正确"});
}
})
};
nodeJs 接收上传文件相关推荐
- nodeJs修改上传文件的大小限制
nodeJs修改上传文件的大小限制 在app.js里引入这几行代码即可. 不然前端如果上传比较大的文件就会报下图的错误: 服务端也会报错:
- nodejs下上传文件formidable、multer、body-parser的区别
Express 用于处理请求体的中间件很多,除了标题中提到的三个,还有multiparty.busboy等,multiparty性能上不如busboy,而multer是busboy的顶层封装,效率又提 ...
- java注解接收上传文件_SpringMVC 处理 multipart/data 请求实现文件上传
此前我们介绍过 HTTP 的 multipart/form-data 请求: 通过 multipart/form-data 请求可以方便的实现客户端到服务端的文件上传服务,但是默认的 Dispatch ...
- vue+axios+nodejs+multer上传文件的坑
在做前后端分离的项目时.我们就不能使用form表单来提交数据或者上传文件了,那么就只能通过vue的axios来提交数据,如果数据中有文件类型的数据,就需要将所有需要上传的数据添加到FormData对象 ...
- C#使用HTML文件中的file文件上传,用C#代码接收上传文件
单独做图片上传很简单,如果要客户端要上传头像保存到服务器就要稍微麻烦一点点了. 不多说了,直接上源码: private void Upload() { string jsonInfo = string ...
- NodeJS sftp 上传文件
1. 使用 ssh2-sftp-client 上传文件到 sftp npm i ssh2-sftp-client -s 2. 核心代码: // SftpTool const Client = requ ...
- java注解接收上传文件,前台:Input type=file 后台获取文件内容用的是spring注解,当地环境上传图片是好的,发布到服务器上图片读取不到,求大神指点...
当前位置:我的异常网» Java Web开发 » 前台:Input type="file" 后台获取文件内 前台:Input type="file" 后台获取文 ...
- ASP.NET Core 3.1系列(7)——Controller接收前端上传文件的方法
1.前言 前一篇博客主要介绍了在GET和POST模式下Controller接收参数的一系列方法,归根结底还是一些简单类型参数的传递和接收.当前端界面需要上传文件时,后台的Controller又应该如何 ...
- jquery ajax java上传文件_jQuery Ajax方式上传文件的方法
jQuery Ajax方式上传文件用到两个对象 第一个对象:FormData 第二个对象:XMLHttpRequest 目前新版的Firefox 与 Chrome 等支持HTML5的浏览器完美的支持这 ...
最新文章
- XML DOM – 属性和方法概述
- hdu2102 水搜索
- 吴恩达《优化深度神经网络》精炼笔记(3)-- 超参数调试、Batch正则化和编程框架...
- SAP Spartacus cost center list的数据源分析
- 你不知道的 Node.js 工具函数
- @程序员,如何在编程面试中脱颖而出?
- VC静态加载DLL和动态加载DLL
- 转 海量数据处理(2)
- 修改ewebedit编辑器图片上传大小限制
- mysql+修改字段长度语句,mysql修改字段长度的sql语句分享
- Windows无法安装到这个磁盘,选中的磁盘具有MBR分区表的解决方法
- 定时上传文件至ftp服务器,CuteFTP FTP文件的定时上传图文教程
- Java中用System.getProperty(...)获取系统属性
- 靶机渗透练习81-Momentum:2
- iOS开发Xcode8需要注意的那些坑
- linux中无法联网小电脑图标不见,电脑桌面上的网络连接图标突然不见怎么解决?...
- Windbg 2进程线程结构分析
- python字符串两个冒号_Python 数组字符串 冒号 用法
- 安卓WebView的那些坑
- Css图片批量下载小工具--saveimg1.5