美文网首页
实现文件上传

实现文件上传

作者: linchih | 来源:发表于2017-05-02 23:23 被阅读0次
  1. 直接上传
    form 中添加
    enctype="multipart/form-data"
    例如:<form action="UploadFile.ashx" method="post" enctype="multipart/form-data">
  2. 使用formData 进行ajax上传
//是否支持formData
if(window.FormData) { 
  var formData = new FormData();
  // 建立一个upload表单项,值为上传的文件
  formData.append('upload', document.getElementById('upload').files[0]);
  //创建xhr对象
       var xhr = new XMLHttpRequest();
  xhr.open('POST', actionUrl);
  // 定义上传完成后的回调函数
  xhr.onload = function () {
    if (xhr.status === 200) {
      console.log('上传成功');
    } else {
      console.log('出错了');
    }
  };
  xhr.send(formData);
} 
  1. 服务端解析(Node)
//使用formidable 中间件
var form = new formidable.IncomingForm()
//编码方式
form.encode = ‘utf-8’
//保存路径,路径不存在会报错
form.uploadDir = ‘’
//是否保留扩展名
form.keepExtensions = true
//文件大小
form.maxFieldsSize = 2*1024*1024
form.parse(req, function(err, fields, files){
//回调
//files对象的格式
var sieze = files.size
//文件的绝对路径
var path = files.path
//文件的名称
var name = files.name
//文件的类型
var type = files.type
//文件的时间戳
var mtime = files.mtime 
})

相关文章

网友评论

      本文标题:实现文件上传

      本文链接:https://www.haomeiwen.com/subject/qfuhtxtx.html