夺命雷公狗---node.js---11之文件上传
我们在做文件上传前需要用npm来安装一个插件先,
首先打开项目所在的目录,然后按住shift键然后右键鼠标进入命令行安装formidable


然后开始编写上传的静态页面:

<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>Title</title>
</head>
<body>
<h1>附件上传表单</h1>
<form name="index" action="/post" method="post" enctype="multipart/form-data">
<label>附件:<input type="file" name="fujian"></label><br /><br />
<input type="submit" value="上传">
</form>
</body>
</html>
然后开始编写index.js文件,必须先引入刚才下载好的formidable模块

详细代码如下所示:

var http = require('http'),
fs = require('fs'),
url = require('url'),
util = require('util'),
formidable = require('formidable'),
querystring = require('querystring');
var server = http.createServer(function(req,res){
var pathname = url.parse(req.url).pathname;
if(pathname == '/index'){
var pageContent = fs.readFile('index.html','utf-8',function(err,data){
if(err){
console.log('Server error:111');
}else{
res.writeHead(200,{"Content-Type":"text/html"});
res.write(data);
res.end();
}
});
}else if(pathname == '/post'){
var form = new formidable.IncomingForm();
form.uploadDir = './temp';
form.parse(req,function(err,fields,files){
res.writeHead(200,{"Content-Type":"text/html"});
console.log(files);//看下文件上传信息
var path = files.fujian.path;
var timestamp = (new Date()).valueOf(); //生成时间戳,然后在下面用时间戳给图片命名
fs.rename(files.fujian.path,"./temp/"+timestamp+'.jpg');//这里的temp目标必须提前准备好,不然报错
res.end();
});
}else{
res.writeHead(404,{"Content-Type":"text/plain"});
res.end('error:404');
console.log('error');
}
});
server.listen(3323);
console.log('@http://localhost:3323');
然后进行测试。。。



这样我们即可成功完成上传功能....
夺命雷公狗---node.js---11之文件上传的更多相关文章
- js插件---IUpload文件上传插件(包括图片)
js插件---IUpload文件上传插件(包括图片) 一.总结 一句话总结:上传插件找到真正上传位置的代码,这样就可以知道整个上传插件的逻辑了, 找资料还是github+官方 1.如何在js中找到真正 ...
- PHP 多图上传,图片批量上传插件,webuploader.js,百度文件上传插件
PHP 多图上传,图片批量上传插件,webuploader.js,百度文件上传插件(案例教程) WebUploader作用:http://fex.baidu.com/webuploader/gett ...
- JavaScript进阶(九)JS实现本地文件上传至阿里云服务器
JS实现本地文件上传至阿里云服务器 前言 在前面的博客< JavaScript进阶(八)JS实现图片预览并导入服务器功能>(点击查看详情)中,实现了JS将本地图片文件预览并上传至阿里云服务 ...
- 基于uploadify.js实现多文件上传和上传进度条的显示
uploadify是JQuery的一个插件,主要实现文件的异步上传功能,可以自定义文件大小限制.文件类型.是否自动上传等属性,可以显示上传的进度条.官网地址是http://www.uploadify. ...
- AjaxUpLoad.js使用实现文件上传
AjaxUpLoad.js的使用实现无刷新文件上传,如图. 图1 文件上传前 图2 文件上传后 1.创建页面并编写HTML [html] view plaincopy 上传文档: <div ...
- 005-html+js+spring multipart文件上传
一.概述 需求:通过html+js+java上传最大500M的文件,需要做MD5 消息摘要以及SHA256签名,文件上传至云存储 1.1.理解http协议 https://www.cnblogs.co ...
- js实现oss文件上传及一些问题
关于兼容性问题,ie8以下的可以使用4.x的版本 一.引入sdk和jq <script src="http://libs.baidu.com/jquery/2.0.0/jquery.m ...
- js+php实现文件上传显示文件上传进度条的插件
文件上传利器SWFUpload使用指南(swfupload官网) 上传文件显示进度条效果的插件swfupload.js
- js可以控制文件上传的速度吗?
为了减轻服务器负载,对于上传和下载的情况,我们需要进行流量控制,一般的方法是服务端做限流举措,比如很多ftp服务器,但是我想是不是可以使用前端js做呢? 顺着这个想法,我查了下资料,目前来看结论是No ...
随机推荐
- git中应用在vs中使用gitignore (转)
在进行协作开发代码管理的过程中,常常会遇到某些临时文件.配置文件.或者生成文件等,这些文件由于不同的开发端会不一样,如果使用git add . 将所有文件纳入git库中,那么会出现频繁的改动和push ...
- Window上装PHP开发环境 (XAMPP)
原作者:http://www.cnblogs.com/martin1009/archive/2011/11/11/2245794.html 1. 从www.apachefriends.org 上下载X ...
- EF6 CodeFirst 启用Migration,常用命令
Enable-Migrations –EnableAutomaticMigrationsAdd-Migration [MigrationName] [-Force]Update-Database –T ...
- .net加载到vb 进程
.net加载到vb 进程时,总是不能加载进去,什么原因呢? 要尝试三个步骤, 首先调试vb ,没有问题,代码能够调试 然后注册.net的dll,生成tlb文件,生成解决方案,调整附加到进程时的选项. ...
- Requirements Gathering
Requirements gathering is an essential part of any project and project management. Understanding ful ...
- Selenium2学习-024-WebUI自动化实战实例-022-网站不同分辨率下页面样式展示兼容性问题解决方案 -- 设置浏览器显示区域大小(无人值守,节约测试成本的福音,BOSS 最爱)
在 Web UI 自动化测试的过程中,通常会测试页面在不同分辨率下的显示效果,即在不同大小的显示器上全屏浏览器后的页面展示,此种测试方法需要购置不同大小的显示器,或者频繁的设置屏幕分辨率,不仅浪费了大 ...
- sell- 获取邮箱的后缀
1. public static void main(String[] args) { System.out.println(getEmailSuffix("jim_chen28270@16 ...
- 我的工具箱之MyEclipse9.1
下载地址:http://pan.baidu.com/s/1bbuN1s 这个工具是用来开发Java程序,自带JDK和Tomcat,功能全面周到,使用方便. 市面上MyEclipse版本很多,但都需要破 ...
- UIWebView相关设置
让UIWebView的背景透明: 1 2 self.webView.backgroundColor = [UIColor clearColor]; self.webView.opaque = NO 这 ...
- JavaScript:基础表单验证
在用户填写表单的过程之中,往往需要编写一堆的验证操作,这样就可以保证提交的数据时正确的.那么下面就模拟表单验证的处理操作完成. 如果要想进行验证,首先针对于输入的数据来进行一个验证处理. 1.定义一个 ...