nodejs07

github

技术栈

  1. github上,awesome + 技术栈名词

起步脚手架

  1. github上,vue starter kit 起步项目

文件上传

没有文件上传的post表单提交,值依然用键值对的方式提交

formidable

原生的post方式提交,监听data和end事件

  1. 第三方包-----formidable,处理表单数据和文件上传
  2. 使用
var form = new formidable.IncomingForm();
form.uploadDir = "./img";
form.keepExtensions = true;
//err 是错误对象
// fields 是键值对
// files 是关于上传文件的信息
form.parse(req, function(err, fields, files) {})
  1. files----还有更多属性,可以输出查看
{
  "filename":
  {
    mtime:"2017-04-08T11:17:11.389Z",
    name:"IMG_8217.JPG",
    path:"img\upload_a799c0a40b82a9b973e48813e07695a6.JPG",
    size:179168,
    type:"image/jpeg"
  }
}

核心库path

  1. path.join()用于连接路径,Unix系统是”/“,Windows系统是”\“。
  2. path.resolve()用于将相对路径转为绝对路径

url

  1. url.parse可以将一个url解析成一个对象
  2. 第二个参数为true,代表将对象中query解析成一个对象
  3. url.parse(url,true)

formData 原生文件上传

XMLHttpRequest Level 2添加了一个新的接口FormData

//该元素有一个属性,files,存放了上传的文件
var fileEle = docuement.getElement("fileEle");
//自己拼凑
var formDate = new FormData();
formData.append("username","yf");
formData.append("filename",fileEle.files[0]);
//使用表单
var formEle = docuement.getElement("formEle");
var formDate = new FormData(formEle);
//使用jquery的ajax需要特别设置
var opt = {
  processData:false,//jquery会默认处理你的数据
  contentType:false//jquery发送类型为 x-www等
}
$.ajax({
  data: formdata,
  // 同时设置上边的两项
})
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • Spring Cloud为开发人员提供了快速构建分布式系统中一些常见模式的工具(例如配置管理,服务发现,断路器,智...
    卡卡罗2017阅读 134,991评论 19 139
  • 个人入门学习用笔记、不过多作为参考依据。如有错误欢迎斧正 目录 简书好像不支持锚点、复制搜索(反正也是写给我自己看...
    kirito_song阅读 2,505评论 1 37
  • Swift版本点击这里欢迎加入QQ群交流: 594119878最新更新日期:18-09-17 About A cu...
    ylgwhyh阅读 25,572评论 7 249
  • 天很蓝,云很白,风中混着一些刚开的花朵的气味,青涩又可爱。几片走散了的花瓣,悠悠荡荡的来到木质的书桌上,单纯的以为...
    浅石野风阅读 758评论 0 6
  • 我必须每天醒来一次我必须去关掉不止一次的闹钟 我必须去街上看看菜市场和凌晨熄灭的五颜六色的灯盏 我必须去倾听和晚风...
    没头脑和不高阅读 358评论 7 3