zoukankan      html  css  js  c++  java
  • node+express+vue上传图片

    个人服务器搭建的差不多了,开始做一些基础功能,先从上传图片开始吧。

    前端用的vue。
    //html
     <div>
    <input type="file" name="file" accept=".jpg, .jpeg, .png" @change="uploadAvatar">
    </div>
    //js
    uploadAvatar(avatar) {
    var url = "http://localhost:3000";
    console.log(avatar.target.files[0])
    let file = avatar.target.files[0]
    let data = new FormData();
    data.append("file", file, file.name); 
    data.append('data', 112)
    console.log(data.get('file'))
     
    this.$http.post(url + '/product/zhutu', data).then(function(data) {
    console.log(data)
    }, function(response) {
    console.log(response)
    })
    }

    主要是后台,需要插件有,1.multiparty(传送图片)。2.images(图片处理)。3.uuidV1(生成唯一名字)

    //处理图片
    router.post('/zhutu', function(req, res, next) {
    console.log('tupian')
    var form = new multiparty.Form();
    form.parse(req, function(err, fields, files) {
    console.log(files.file[0])
    // //找到上传的图片上传之前的名字
    var orgFilename = files.file[0].originalFilename;
    console.log(orgFilename)
    // //切割orgFilename 找到图片的扩展名 以证明图片是什么格式的
    // //切割后是一个数组,找到数组最后一个
    var formate = orgFilename.split(".");
    // //拼接新的图片名称
    var fileName = uuidV1() + "." + formate[formate.length - 1];
    //      
    images(files.file[0].path) //Load image from file 
    .size(1920, 1276)
    .save("public/images/detail/" + fileName, {
    quality: 1000
    });
    //返回前台存储地址
    var src = "/images/detail/" + fileName;
     
    res.json({
    status: true,
    msg: src
    })
    });
    });
  • 相关阅读:
    css
    10个顶级的CSS和Javascript动画框架推荐
    js格式化时间(自己修改并注释)
    分享一篇获取键盘数值的js(限制在IE浏览器)
    Myeclipse一个设置小技巧,加速编码提示。
    悲剧的代码工
    Log4j与commonlogging
    没有人的了
    不想被淘汰,就别做这八种人!
    MVN 资料一
  • 原文地址:https://www.cnblogs.com/ydam/p/10983572.html
Copyright © 2011-2022 走看看