通常情况下上传图片是要通过提交form表单来实现的,但是这又不可避免的产生了网页转。

利用ajax技术和FormData()对象可以有效的解决这个问题
废话不多说 直接上关键代码:
html部分
<div class="form-group"> <label>File input</label> <input type="file" name="file" id="file"> <p id="result"></p> <img id="img" src=""> </div> <button id="upload" class="btn btn-default">提交</button>
这里注意input标签的 type="file"
js部分:
function uploadFile(){
var file = document.getElementById("file")
var formData = new FormData();
formData.append('file',file.files[0]);
$.ajax({
url: '/upload',
type: 'POST',
data: formData,
// async: false,
cache: false,
contentType: false,
processData: false,
success: function(data){
if(200 === data.code) {
$('#result').html("上传成功!");
$('#img').attr('src',data.data);
} else {
$('#result').html("上传失败!");
}
console.log('imgUploader upload success');
},
error: function(){
$("#result").html("与服务器通信发生错误");
}
});
}
function postPage() {
var uploada = document.getElementById('upload');
uploada.addEventListener("click",function () {
uploadFile();
},false);
}
window.onload = function () {
postPage();
}
nodejs部分:
var storage = multer.diskStorage({
destination: function (req, file, cb){
cb(null, './public/images')
},
filename: function (req, file, cb){
cb(null, file.originalname)
}
});
var upload = multer({
storage: storage
});
router.post('/upload', upload.single('file'), function (req, res, next) {
var url = 'http://' + req.headers.host + '/images/' + req.file.originalname
res.json({
code : 200,
data : url
})
});
multer是express官方推荐的文件上传中间件。
文件上传有以下方法
upload.single(‘file'), //适用于单文件上传。 upload.array(‘file',num), //适用于多文件上传,num为最多上传个数,上传文件的数量可以小于num。
同时还提供了混合上传,比如A类文件1个,B类文件2个。官方API有详细说明。
file为上传字段名称,当使用form表单submit方式上传时,必须与表单上传的name属性保持一致。
对上传文件大小限制,名称限制等均可在limits中加上,具体可加属性,请参考官方api。
multer官方文档
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持。
# nodejs
# ajax上传图片
# ajax
# 上传文件
# Nodejs+angularjs结合multiparty实现多图片上传的示例代码
# NodeJS实现图片上传代码(Express)
# 详解nodejs实现本地上传图片并预览功能(express4.0+)
# ajax +NodeJS 实现图片上传实例
# angular2+nodejs实现图片上传功能
# 图片上传之FileAPI与NodeJs
# nodejs 整合kindEditor实现图片上传
# 轻松创建nodejs服务器(10):处理上传图片
# nodejs 图片预览和上传的示例代码
# 上传
# 文件上传
# 表单
# 适用于
# 最多
# 可在
# 详细说明
# 不可避免
# 多说
# 来实现
# 上传图片
# 请参考
# 解决这个问题
# 大家多多
# 这又
# 发生错误
# 等均
# 情况下
# 产生了
相关文章:
b2c电商网站制作流程,b2c水平综合的电商平台?
网站制作大概要多少钱一个,做一个平台网站大概多少钱?
如何快速搭建高效香港服务器网站?
c# 服务器GC和工作站GC的区别和设置
如何在VPS电脑上快速搭建网站?
如何快速搭建个人网站并优化SEO?
车管所网站制作流程,交警当场开简易程序处罚决定书,在交警网站查询不到怎么办?
可靠的网站设计制作软件,做网站设计需要什么样的电脑配置?
如何选购建站域名与空间?自助平台全解析
如何在云服务器上快速搭建个人网站?
mc皮肤壁纸制作器,苹果平板怎么设置自己想要的壁纸我的世界?
建站org新手必看:2024最新搭建流程与模板选择技巧
做企业网站制作流程,企业网站制作基本流程有哪些?
网站制作软件有哪些,制图软件有哪些?
如何通过虚拟主机空间快速建站?
极客网站有哪些,DoNews、36氪、爱范儿、虎嗅、雷锋网、极客公园这些互联网媒体网站有什么差异?
C#如何序列化对象为XML XmlSerializer用法
学校为何禁止电信移动建设网站?
企业网站制作费用多少,企业网站空间一般需要多大,费用是多少?
如何在万网ECS上快速搭建专属网站?
如何选择美橙互联多站合一建站方案?
香港服务器选型指南:免备案配置与高效建站方案解析
如何通过远程VPS快速搭建个人网站?
小米网站链接制作教程,请问miui新增网页链接调用服务有什么用啊?
建站之星图片链接生成指南:自助建站与智能设计教程
建站主机系统SEO优化与智能配置核心关键词操作指南
威客平台建站流程解析:高效搭建教程与设计优化方案
建站之星下载版如何获取与安装?
定制建站如何定义?其核心优势是什么?
家族网站制作贴纸教程视频,用豆子做粘帖画怎么制作?
网站规划与制作是什么,电子商务网站系统规划的内容及步骤是什么?
php json中文编码为null的解决办法
如何快速上传建站程序避免常见错误?
如何获取免费开源的自助建站系统源码?
在线教育网站制作平台,山西立德教育官网?
代购小票制作网站有哪些,购物小票的简要说明?
建站之星如何通过成品分离优化网站效率?
怀化网站制作公司,怀化新生儿上户网上办理流程?
青浦网站制作公司有哪些,苹果官网发货地是哪里?
建站DNS解析失败?如何正确配置域名服务器?
建站中国官网:模板定制+SEO优化+建站流程一站式指南
电商网站制作公司有哪些,1688网是什么意思?
定制建站平台哪家好?企业官网搭建与快速建站方案推荐
如何选择域名并搭建高效网站?
建站主机数据库如何配置才能提升网站性能?
如何快速搭建安全的FTP站点?
建站之星如何助力企业快速打造五合一网站?
建站之星安装后如何自定义网站颜色与字体?
北京建设网站制作公司,北京古代建筑博物馆预约官网?
*请认真填写需求信息,我们会在24小时内与您取得联系。