nodejs express 上传文件 (格式 FormData)
前台代码使用jQuery的ajax:
<script type="text/javascript">
$(function(){
$('#file_upload').click(function(){
var data = new FormData();
var files = $('#file')[0].files;
if (files) {
data.append('codecsv',files[0]);
}
$.ajax({
cache: false,
type: 'post',
dataType: 'json',
url:'upload',
data : data,
contentType: false,
processData: false,
success : function () {
}
});
});
})
</script>
<table style='width: 100%;height: 100%'>
<tr>
<td style='width:800px;text-align: center;'>
<input id='file' type="file">
<input id='file_upload' type="button" value="upload">
</td>
</tr>
</table>
上传文件的nodejs express的后台
Node.js代码
var express = require('express');
var fs = require('fs');
var path = require('path');
//createServer
var app = module.exports = express.createServer();
app.configure(function(){
app.use(express.bodyParser({uploadDir:'c:\\aa'}));
app.use(express.methodOverride());
app.use(app.router);
app.use(express.static(__dirname + '/public'));
});
app.post('/:service?', function(req, res){
if (req.files && req.files.codecsv != 'undifined') {
var temp_path = req.files.codecsv.path;
if (temp_path) {
fs.readFile(temp_path, 'utf-8', function(err, content) {
//文件的内容
console.log('content',content);
// 删除临时文件
fs.unlink(temp_path);
});
}
}
});
app.listen(4000, function(){
console.log("Express server listening on port %d in %s mode", app.address().port, app.settings.env);
});
nodejs express 上传文件 (格式 FormData)的更多相关文章
- nodejs express 上传文件自定义文件名和上传路径
1.客户端 <form action="http://localhost:3000/profile" method="post" enctype=&quo ...
- 上传文件multipart form-data boundary 说明
含义 ENCTYPE="multipart/form-data" 说明: 通过 http 协议上传文件 rfc1867协议概述,客户端发送内容构造. 概述 ...
- http 协议上传文件multipart form-data boundary 说明--转载
原文地址:http://xixinfei.iteye.com/blog/2002017 含义 ENCTYPE="multipart/form-data" 说明: 通过 http 协 ...
- httprunner上传文件multipart/form-data
Content-Type = multipart/form-data#上传文件 Rquest Payload ------WebKitFormBoundarymAyGmnyhpf3UBdec C ...
- HTML5 借助http请求发送formdata对象,从而上传文件 XMLHttpRequest, FormData
<!DOCTYPE html> <html xmlns="http://www.w3.org/1999/xhtml"> <head> <m ...
- node express 上传文件
npm install --save multer var fs = require('fs'); var multer = require('multer'); var upload = multe ...
- Nodejs学习笔记(4) 文件操作 fs 及 express 上传
目录 参考资料 1. fs 模块 1.1 读取文件fs.readFile 1.2 写入文件fs.writeFile 1.3 获取文件信息fs.stat 1.4 删除文件fs.unlink 1.5 读取 ...
- 使用FormData上传文件、图片
关于FormData XMLHttpRequest Level 2添加了一个新的接口 ---- FormData 利用FormData对象,可以通过js用一些键值对来模拟一系列表单控件,可以使用XM ...
- node.js 上传文件
在工作中碰到了这样的需求,需要用nodejs 来上传文件,之前也只是知道怎么通过浏览器来上传文件, 用nodejs的话, 相当于模拟浏览器的行为. google 了一番之后, 明白了浏览器无非就 ...
随机推荐
- 《软件工程和Python》PYTHON效能分析和Django
资料汇总网站:http://www.yzhiliao.com/my/course/55 一..作业下面两个题目任选一题: (1)运用jieba库分词(或者你喜欢的其他库),并把代码发到git上去(不发 ...
- Head First Java & 重载 覆盖
- 词频统计Web工程
本次将原本控制台工程迁移到了web工程上.. 需求: 1.把程序迁移到web平台,通过用户上传TXT的方式接收文件: 2.在页面上给出链接 (如果有封皮.作者.字数.页数等信息更佳)或表格,展示经典英 ...
- java如何写入txt文件
public class TxtWrite { public static void main(String args[]){ contentToTxt("D:\\xyky.txt" ...
- Java词频统计
public class WordCount { public static void main(String[] args) { String[] stopWords = { "" ...
- 【bzoj5210】最大连通子块和 树链剖分+线段树+可删除堆维护树形动态dp
题目描述 给出一棵n个点.以1为根的有根树,点有点权.要求支持如下两种操作: M x y:将点x的点权改为y: Q x:求以x为根的子树的最大连通子块和. 其中,一棵子树的最大连通子块和指的是:该子树 ...
- MySQL-常见数据拆分办法
在生产环境中,由于业务的增长或者业务的拆分,DBA经常需要拆库操作.那么我们常见的拆库手段有哪些呢? 我这里提供几种解决办法: 1. 使用mysqldump 把表逻辑倒出,然后再source 到其它地 ...
- JAVA ACM 基础
java ACM Java做ACM-ICPC的特点: (1) 在一般比赛中,Java程序会有额外的时间和空间,而实际上经过实验,在执行计算密集任务的时候Java并不比C/C++慢多少,只是IO操作较慢 ...
- 学习Spring Boot:(四)应用日志
前言 应用日志是一个系统非常重要的一部分,后来不管是开发还是线上,日志都起到至关重要的作用.这次使用的是 Logback 日志框架. 正文 Spring Boot在所有内部日志中使用Commons L ...
- 【HBuilder】手机App推送至Apple App Store过程
一.前言 最近由于公司同事离职,顶替这位同事从事手机App的研发工作,BIM数据平台部门采用的是HBuilder作为手机App的制作环境.本篇介绍我是如何将HBuilder的Releas ...