一,只有在上传文件之前的钩子函数中才可以获得最初的文件(文件本身的二进制形式),用以以上传服务器。
还需要使用formdata来承载数据,便于接收
<template>
  <div>
    <el-upload
      action="http://localhost:3000/picture"
      :http-request = "upload"
      :before-upload = "beforeUp"
      :headers="headers"
      list-type="picture-card"
      :on-preview="handlePictureCardPreview"
      :on-progress="progress"
      :on-remove="handleRemove">
      <i class="el-icon-plus"></i>
    </el-upload>
    <el-dialog :visible.sync="dialogVisible">
      <img width="100%" :src="dialogImageUrl" alt="">
    </el-dialog>
    
    <el-row>
      <el-button type="info" plain @click="getimages">信息按钮</el-button>
    </el-row>
 </div>
</template>
<script>
  export default {
    data() {
      return {
        dialogImageUrl: '',
        dialogVisible: false,
        headers:{},
        imgArr:[]
      };
    },
    methods: {
      beforeUp(file){
        console.log(file);
        var formData = new FormData();
        formData.append('file',file);
        this.$http.post('/picture',formData)
      },
      handleRemove(file, fileList) {
        /* 移除 */
        console.log(file, fileList);
      },
      handlePictureCardPreview(file) {
        /* 预览 */
        this.dialogImageUrl = file.url;
        this.dialogVisible = true;
        console.log(file);
        this.$http.post('/picture',file)
      },
      progress(){
        console.log('上传中');
      },
      upload(res){
        // this.imgArr.push(res)
        // console.log(res);
        // this.$http.post('/picture',res)
      },
      getimages(){
        // console.log(this.imgArr);
        // this.$http.post('/picture',this.imgArr)
      }
    },
    created(){
      // this.$http.get('/picture')
      // this.headers ={Authorization : 'Bearer '+(localStorage.token || '')}
    }
 
  }
</script>
二,node.js服务器使用multer插件 接收上传的图片  ,multer插件需要接收二进制的文件
 
var multer = require('multer')
const upload = multer({ dest: 'uploads/' });
router.use(upload.single('file')); 
router.post('/',upload.single('file'),async(req,res)=>{   //此刻图片已存入服务器
  console.log(req.body);
  console.log(req.file);
})
 
如果有类似问题bug,可以留言一起研究,共同进步,哈哈 。。

Element 以二进制的形式 自定义上传图片的更多相关文章

  1. 以二进制的形式查看文件 Linux之od命令详解

    od命令 以二进制的形式查看文件 od -t x1 /usr/local/FT/config/hsm_create.utf8.sql ef bb bf 4c 5f 0d 0a 5f 4e 4e 4f ...

  2. css3自定义上传图片输入框的方法

    css3自定义上传图片输入框的方法 代码如下<pre> <form class="form1"> <img src="/kelatoupia ...

  3. java二进制表示形式与移位操作符

    java二进制表示形式 java中数字的二进制表示形式称为"有符号的二进制补码",下面先介绍原码,反码,补码. 编码 计算方法 原码 用最高位表示符号位,'1'表示负号,'0'表示 ...

  4. vue结合element实现自定义上传图片、文件

    参考了很多文献,感谢各位帖子,所以也想把自己遇到不会的东西分享出来,菜鸟一枚大家一进步!

  5. 基于vue2.0前端组件库element中 el-form表单 自定义验证填坑

    eleme写的基于vue2.0的前端组件库: http://element.eleme.io 我在平时使用过程中,遇到的问题. 自定义表单验证出坑: 1: validate/resetFields 未 ...

  6. asp.net FileUpload 控件上传文件 以二进制的形式存入数据库并将图片显示出来

    图片上传事件代码如下所示: byte[] binary = upload.FileBytes; StringBuilder sqlStrSb = new StringBuilder(); sqlStr ...

  7. Vue+element组合el-table-column表头宽度自定义

    [本文出自天外归云的博客园] 需求 1. 某列表头文字内容过长,要对每列表头自定义宽度 2. 表格row的每一column文字不换行,超过列宽则省略,mouseover有提示 3. 对于label做滤 ...

  8. ASP.NET中让图片以二进制的形式存储在数据库中

    今早有个网友问到我这问题,以前我都是直接在数据库中存文件名的,还没有试过存储整张图片到数据库中,上网搜索了一下,自己又测试了一番,代码如下:建立保存图片的表的SQL语句: USE [niunantes ...

  9. 二进制包形式安装mysql5.7.17

    mysql5.7与mysql5.5的安装方式有些区别,如果按照5.5的方式来安装5.7就会有很多报错信息,下面介绍mysql5.7.17的二进制安装方式. 首先安装依赖包: yum -y instal ...

随机推荐

  1. vue中加载three.js的gltf模型

    vue中加载three.js的gltf模型 一.开始引入three.js相关插件.首先利用淘宝镜像,操作命令为: cnpm install three //npm install three也行 二. ...

  2. python中:from * import 与 import 详解

    在python 中导入模块是我们最常用的功能,基本每个.py 文件中都会有 import 或者是 from * import 语句,可是,这两种方法有什么不同,有该怎么用?今天就好好分析一下. 先上定 ...

  3. 解决HTML5(富文本内容)连续数字、字母不自动换行

    最近开发了一个与富文本相关的功能,大概描述一下:通过富文本编辑器添加的内容,通过input展示出来(这里用到了 Vue 的 v-html 指令). 也是巧合,编辑了一个只有数字组成的长文本,等到展示的 ...

  4. Linux 修改/etc/profile 出错 导致所有命令都 command not found 的解决办法

    执行命令 export PATH=/usr/bin:/usr/sbin:/bin:/sbin:/usr/X11R6/bin 然后再修改/etc/profile 再执行文件: source /etc/p ...

  5. [经验] Java Web 项目怎么部署到 Linux 系统上

    废话少说, 直奔主题 第一步: 将 web 项目打成 war 包 1: 打开项目的 pom.xml 文件 如果是迭代后的项目, 记得修改项目的版本号, 这里我的是第二版所有就把 1 改成了 2 2: ...

  6. nopad++将制表符替换为换行符

    将制表符换位换行

  7. ng-repeat 设定select 选择项

    <select class="form-control m-b" name="FPermissionID" ng-model="mgfunc.F ...

  8. NXP TJA1040, TJA1042, TJA1050 TJA1051, TJA1057, TJA1044, TJA1055区别

    历史关系 PCA82C250和PCA82C251是属于NXP第一代 CAN PHY(CAN物理层收发器): TJA1050, TJA1040和TJA1041是属于NXP第二代CAN PHY: TJA1 ...

  9. vue 输入框数字、中文验证

    vue项目是基于element框架做的,在做form表单时,要做些验证,element框架也提供了自定义验证 下面是一些常见的验证 只允许输入数字: 可以直接用框架的rule去验证,但必须在model ...

  10. 使用element-ui组件el-table时需要修改某一行或列的样式(包含解决选择器无效问题)

    在后台管理系统项目中,经常会使用element-ui中的组件el-table(表格)来展示列表数据. 当展示数据的时候,可能就需要给给某一行或者列设置特殊的样式,在查询文档是我遇到了一些问题:包括设置 ...