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
    })
    });
    });
  • 相关阅读:
    mysql,apache,php的关系
    简析 Tomcat 、Nginx 与 Apache 的区别
    Linux中涉及到环境变量的文件
    如何在Linux启动的时候执行一个命令
    sed的额外用法(网摘)
    shell脚本执行方式
    在rhel7上搭建centos7的yum源
    MYSQL三种安装方式--二进制包安装
    ssh连接不上排查方法总结
    MySQL启动很慢的原因
  • 原文地址:https://www.cnblogs.com/ydam/p/10983572.html
Copyright © 2011-2022 走看看