位置: 编程技术 - 正文

轻松创建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服务器及应用开发入门(零基础搭建直播室与云直播平台)

  • 收款金额比开票金额少是对方扣的手续费
  • 盘库应该由公司什么部门负责
  • 租赁费进项税可以抵扣吗
  • 2021小规模免税
  • 两金占流动资产比重
  • 票据结算的分录怎么做
  • 应税服务零税率是什么
  • 增值税零税率发票预缴税额
  • 承兑汇票贴现计算公式
  • 建安行业外地预缴工会经费
  • 接受股权转让要交什么税
  • 劳务分包服务费率
  • 员工销售家具取得的工资怎么写分录?
  • 固定资产处理申请
  • 小规模纳税人出租房屋增值税税率是多少
  • 公司怎么申请开票资格?
  • 公司买卖股票如何账务处理
  • 租的厂房再转租怎么开票抵扣
  • 进销项税额的会计分录
  • 贸易公司出口退税流程及账务处理
  • 刻章发票可以抵税吗
  • 小规模免征增值税会计处理
  • 代扣代缴个人所得税手续费是否缴纳增值税
  • 不动产处置流程
  • 残保金次年申报
  • 企业撤回投资说明模板怎么写
  • iphone无法打开网页怎么办
  • 华为nova9参数配置中关村
  • 巴蒂斯塔卡里
  • 为什么浏览器自动打开
  • 出版社购买版权是什么
  • ipcservice.dll是什么?
  • mediacachefiles什么意思
  • 图文详解:台盆柜安装的全过程
  • php -i
  • 弗吉尼亚理工大学美国排名
  • 转销坏账准备的会计分录有一个还是两个
  • vue如何销毁页面
  • Laravel5.1数据库连接、创建数据库、创建model及创建控制器的方法
  • 承兑汇票无法兑付
  • 购买员工团体意外险肺炎能报销吗
  • 小型企业利润表
  • 缴纳城镇土地税
  • 金融资产发生减值的客观证据包括哪些
  • 简易征收销售额是什么意思
  • 销售送客户礼物
  • 企业给员工的福利体检报告
  • 转让旧固定资产怎么处理
  • 短期借款有哪几种类型
  • 多栏式日记账核算组织程序优缺点
  • 代开租金发票的税金怎样入账?
  • 小规模企业自开收购牛发票增值税怎样申报
  • 收到现金怎么做凭证
  • 年金现值系数和复利现值系数的公式
  • 持有待售资产的条件
  • 叉车累计折旧如何结转
  • 购买电脑配件组件怎么选
  • 固定资产报废电费怎么算
  • 非流动资产处置利得计入什么科目
  • 电子发票报销如何处理
  • 预收账款怎么做账
  • 史上最简单的飞镖
  • excel格式变了怎么办
  • sqlserver 教程
  • svchos1.exe - svchos1是什么教程 有什么作用
  • ghost到一半报错
  • PQIBrowser.exe是什么进程 PQIBrowser进程查询
  • win10升级最新版
  • 电脑开机后出现win7画面后一直黑屏
  • win7系统怎么把其他盘空间给c盘
  • Extjs4中Form的使用之本地hiddenfield
  • android kotlin开发
  • bat批处理命令大全
  • python tcp socket
  • python 多线程调用
  • OSG 砖块 shader 例子 GLSL
  • javascript 正则
  • 在线视频爬取工具
  • 一般纳税人提供公共交通运输服务免征增值税
  • 税务检查企业所得税案例
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

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

    友情链接: 武汉网站建设