node . js使用表达框架进行文件上传详解

  

关于节点。js使用表达框架进行文件上传,主要来自于最近对Settings-Sync插件做的研究。
  

  

目前的研究算是取得的比较好的进展。
  

  

Settings-Sync中通过快捷键上传文件,其实主要还是请求后端接口。
  

  

于是我便使用节点。js模拟一个服务,这个服务其实就相当于github api (Settings-Sync实际请求的接口,比如令牌验证,要点存储创建等都是来自github对应的api)。

  

话不多说,直接代码贴起讲解:

  

1。创建一个node . js项目(这里我以表达框架为例)

  

关于如何创建一个节点。js项目我就不详细说,通常通过npm init就可以创建一个节点。js项目了。
  关于节点。js项目详细教程,可以参考该篇文章nodeJS入门——新建一个项目及代码详解
  当然了,如果你是直接通过这篇文章操作,最先可能会报这个错误,错误信息如下:

        “表达”不是内部或外部命令,也不是可运行的程序   之前或批处理文件。      

解决方式很简单,并不是npm安装- g表达就可以的,在此之前还需执行npm安装- g express-generator

  

这条命令很好理解,你可以将其理解为你的表达框架生成器,以Java中Maven来说,通常ide就把Maven结构都弄好了,你只需在创建项目的时候,勾选Maven即可,它会自己将所有相关项目包括配置文件一起生成。

  

虽然说我将地址贴出来,但是我觉得还是实际操作一遍,这样对此有一个感性认识(初学编程的人或者是已经有编程经验的人,是绝对不能忽略这一点的)。

  

流程如下:

  

。使用表达命令创建表达项目

        表达博客      

  

效果图如下:

  

 node . js使用表达框架进行文件上传详解

  

表达非常有人性化,已经告诉你怎么进入博客项目及其安装相关的库依赖和启动了,你只需按照它的这个步骤,一步一步来就行了

  

b。目录结构分析示意图如下所示:

  

 node . js使用表达框架进行文件上传详解

  
      <李> app.js:启动文件,也可以说是主文件入口。   <李>包。json -定义了这个项目所需要的各种模块,以及项目的配置信息(比如名称,版本,许可证等元数据).npm安装命令根据这个配置文件,自动下载所需的模块,也就是配置项目所需的运行和开发环境。   <李> node_modules——存放package.json中安装的模块,当你在package.json添加依赖的模块并安装后,存放在这个文件夹下李   <李>公共——存放图片,css, js等文件   <李>路线——存放路由文件   <李>视图——存放视图文件或者说模板文件   <李>本——存放可执行文件   
  

2。使用表达框架进行文件上传

  

注意,目录结构如下所示(我主要是复用最近研究的mock-github-api):

  

 node . js使用表达框架进行文件上传详解

  

。准备html文件

  

公共文件夹主要放置静态文件,如index . html

        & lt; !DOCTYPE html>   & lt; html lang=癳n”比;   & lt; head>   & lt;元charset=皍tf - 8”比;   & lt; title>文件上传& lt;/title>   & lt;/head>   & lt; body>   & lt; h4>文件上传:& lt;/h4>   选择一个文件上传:& lt; br/比;   & lt;形式行动="/依据" method=" post " enctype=岸嗖糠?格式”比;   & lt;输入类型="文件" name="内容"/比;   & lt; br/比;   & lt;输入类型="提交" value=" https://www.yisu.com/zixun/上传文件”/比;   & lt;/form>      & lt;/body>   & lt;/html>      

b。编写相关的js

  

像upload.js属于路由,通常放置在路线文件夹下

        var fs=要求(fs);   var=需要表达(表达);   var乘=要求(“相乘”);   var=路径要求(“路径”);   var路由器=express.Router ();      var上传=相乘({桌子:“upload_tmp/眪);      路由器。邮报》('/',upload.any()函数(下)要求,res, {   console.log (req.files [0]);//上传的文件信息      var des_file="。/上传/? req.files [0] .originalname;   fs。readFile (req.files [0]。路径,函数(呃,数据){   fs。writeFile (des_file、数据功能(err) {   如果(err) {   控制台。日志(错);   其他}{   响应={   信息:文件上传成功,   文件名:req.files [0] .originalname   };   控制台。日志(响应);   res.end (JSON。stringify(响应));   }   });   });   });      模块。出口=路由器;

node . js使用表达框架进行文件上传详解