位置: 编程技术 - 正文

轻松创建nodejs服务器(10):处理上传图片(node创建服务)

编辑:rootadmin

推荐整理分享轻松创建nodejs服务器(10):处理上传图片(node创建服务),希望有所帮助,仅作参考,欢迎阅读内容。

文章相关热门搜索词:node.js怎么创建js文件,搭建nodejs,node.js创建服务,node创建服务,node创建服务器的方式,如何创建node项目,如何使用nodejs创建web服务器,创建nodejs项目的步骤,内容如对您有帮助,希望把文章链接给更多的朋友!

本节我们将实现,用户上传图片,并将该图片在浏览器中显示出来。

这里我们要用到的外部模块是Felix Geisendörfer开发的node-formidable模块。它对解析上传的文件数据做了很好的抽象。

要安装这个外部模块,需在cmd下执行命令:如果输出类似的信息就代表安装成功了:安装成功后我们用request将其引入即可:这里该模块做的就是将通过HTTP POST请求提交的表单,在Node.js中可以被解析。我们要做的就是创建一个新的IncomingForm,它是对提交表单的抽象表示,之后,就可以用它解析request对象,获取表单中需要的数据字段。

本文案例的图片文件存储在 /tmp文件夹中。

我们先来解决一个问题:如何才能在浏览器中显示保存在本地硬盘中的文件?

我们使用fs模块来将文件读取到服务器中。

我们来添加/showURL的请求处理程序,该处理程序直接硬编码将文件/tmp/test.png内容展示到浏览器中。当然了,首先需要将该图片保存到这个位置才行。

我们队requestHandlers.js进行一些修改:

我们还需要将这新的请求处理程序,添加到index.js中的路由映射表中:

重启服务器之后,通过访问 在/start表单中添加一个文件上传元素

&#; 将node-formidable整合到我们的upload请求处理程序中,用于将上传的图片保存到/tmp/test.png

&#; 将上传的图片内嵌到/uploadURL输出的HTML中

轻松创建nodejs服务器(10):处理上传图片(node创建服务)

第一项很简单。只需要在HTML表单中,添加一个multipart/form-data的编码类型,移除此前的文本区,添加一个文件上传组件,并将提交按钮的文案改为“Upload file”即可。 如下requestHandler.js所示:

接下来,我们要完成第二步,我们从server.js开始 —— 移除对postData的处理以及request.setEncoding (这部分node-formidable自身会处理),转而采用将request对象传递给请求路由的方式:

接下来修改router.js,这次要传递request对象:

现在,request对象就可以在我们的upload请求处理程序中使用了。node-formidable会处理将上传的文件保存到本地/tmp目录中,而我们需

要做的是确保该文件保存成/tmp/test.png。

接下来,我们把处理文件上传以及重命名的操作放到一起,如下requestHandlers.js所示:

做到这里,我们的服务器就全部完成了。

在执行图片上传的过程中,有的人可能会遇到这样的问题:

照成这个问题的原因我猜测是由于磁盘分区导致的,要解决这个问题就需要改变formidable的默认零时文件夹路径,保证和目标目录处于同一个磁盘分区。

我们找到requestHandlers.js的 upload函数,将它做一些修改:

我们增加了一句 form.uploadDir = “tmp”,现在重启服务器,再执行上传操作,问题完美解决。

零基础搭建Node.js、Express、Ejs、Mongodb服务器及应用开发入门 本文改自非鱼的《【翻译】前端开发人员入门指南,从零开始搭建Node.js,Express,Jade,Mongodb服务器》,之所以把Jade换成Ejs,是因为我觉得ejs更符合WEB编程人

nodejs中操作mysql数据库示例 引言:继前面的NodeJS的Hello,World!我们还可以看到其他强大之处,NodeJS现在社区的火热,以及大批工程师对它的支持之下,现在已经陆续的引出了大量的

Node.js中调用mysql存储过程示例 例子仅在windows下测试通过,没有放在linux下测试。如有问题,可以电邮给我~1、安装node.js、mysql,此处略(自行搜索吧)…;2、创建一个名为test的数据

标签: node创建服务

本文链接地址:https://www.jiuchutong.com/biancheng/374205.html 转载请保留说明!

上一篇:轻松创建nodejs服务器(10):处理POST请求(nodejs创建vue)

下一篇:零基础搭建Node.js、Express、Ejs、Mongodb服务器及应用开发入门(零基础搭建直播室与云直播平台)

  • 增值税16%降到13%的留抵退税的情况说明咋写
  • 税控盘这个月没有反写会怎么样
  • 车辆购置税计入成本吗
  • 记账凭证红字冲销
  • 税务局未核定的印花税
  • 市场推广费属于广告费用吗
  • 外经证到期如何填写最新有效期限
  • 企业所得税应税所得率
  • 保险公司返点啥意思
  • 发票未到货已到怎么入账
  • 付汇代扣代缴增值税纳税期限
  • 出口退税注销备注怎么填
  • 税务实名制法人和财务负责人可以是同一人吗?
  • 停车场增加收入
  • 汇兑损失的原因
  • 银行账户基本户是什么意思
  • 环境工程开票多少税率
  • 支票结算方式下用其他货币资金账户
  • 劳务外包与劳务派遣公司
  • 股东收回投资要交税吗
  • 进项票也要缴纳印花税吗
  • 出口茶叶需要什么资质
  • 债权转让的方式有哪几种
  • 什么是补提或者计提
  • win11字体大小怎么调
  • win11更新失败怎么办
  • 公司购买的车辆购置税怎么入账
  • php版本常用的排版软件
  • linux相关命令及用法
  • macOS Big Sur 11.3 开发预览版 Beta正式更新
  • 金融机构通过
  • 教案的近义词是什么
  • PHP:imagealphablending()的用法_GD库图像处理函数
  • 企业常见的筹资方式有几种
  • php sendmail
  • 法定假日的加班费怎么算
  • 在代开发票时已经预缴个人所得税了,怎么处理?
  • 超限量发票申请下来后怎么操作
  • vuedraggable官方文档
  • php判断是否为字母
  • 单位收到社保补贴的钱做账
  • lspci命令显示
  • php短信验证
  • php封装数据库操作
  • 商场返点怎么核算
  • 农产品收购发票可以抵扣进项税额吗
  • 三栏式明细账对方科目有多个怎么办
  • 存货的成本包括哪几项
  • 蔬菜和肉类是不是免税
  • 小微企业短小频急
  • mysql group by实现原理
  • 新成立企业多长时间可以销售小微企业
  • 企业收到合同保险怎么办
  • 业务招待费汇算清缴填哪个表
  • 资本公积金转增股本会计处理
  • 汇算清缴需要做账吗
  • 财报实收资本
  • 汇款退款
  • 工业企业会计与管理论文
  • 小企业如何做
  • sql语句版本
  • win8系统安装office2010
  • win10开始菜单按重启键变成关机
  • 电脑主板bios是什么意思
  • 怎么检测软件有没有毒
  • 运维zabbix
  • win8不能安装软件
  • perl localtime函数
  • perl怎么读取文件
  • Unity3D游戏开发标准教程吴亚峰于复兴人民邮电出版社
  • jquery函数定义
  • upsource使用详解
  • Linux中获取某个进程的系统调用以及参数(故障排查案例)
  • node.js适用哪些场景
  • final exam是什么意思
  • javascript基础笔记
  • unity导出ios项目到iphone
  • javascript 日期
  • 税务处理决定书属于行政处罚吗
  • 审计双轨制什么意思
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

    网站地图: 企业信息 工商信息 财税知识 网络常识 编程技术

    友情链接: 武汉网站建设