在Vue项目中使用html2canvas生成页面截图并上传

引入cnpm install html2canvas.

html代码

<!-- 把需要生成截图的元素放在一个元素容器里,设置一个ref -->
<div class="image_tofile" ref="imageTofile">
  <!-- 这里放需要截图的元素,自定义组件元素也可以 -->
</div>
<!-- 如果需要展示截取的图片,给一个img标签 -->
<img :src="htmlUrl">

js代码

// 引入html2canvas

import html2canvas from ‘html2canvas‘

// 注册组件

data() {
  return {
    htmlUrl: ‘‘
  }
},
components: {
  html2canvas
},
methods: {
  // 页面元素转图片
  toImage() {
    // 第一个参数是需要生成截图的元素,第二个是自己需要配置的参数,宽高等
    html2canvas(this.$refs.imageTofile, {
      backgroundColor: null
    }).then((canvas) => {
      let url = canvas.toDataURL(‘image/png‘);
      this.htmlUrl = url;
      // 把生成的base64位图片上传到服务器,生成在线图片地址
      this.sendUrl();
    })
  },
  // 图片上传服务器
  sendUrl () {
    // 如果图片需要formData格式,就自己组装一下,主要看后台需要什么参数
      // const formData = new FormData()
    // formData.append(‘base64‘, this.company.fileUrl)
    // formData.append(‘userId‘, 123)
    // formData.append(‘pathName‘, ‘pdf‘)
    this.$ajax({
      url: apiPath.common.uploadBase,
      method: ‘post‘,
      data: this.htmlUrl
    }).then(res => {
      if (res.code && res.data) {

      }
    })
  }
}

  

原文地址:https://www.cnblogs.com/shirliey/p/10647239.html

时间: 2024-11-09 10:21:16

在Vue项目中使用html2canvas生成页面截图并上传的相关文章

vue项目富文本编辑器vue-quill-editor之自定义图片上传

使用富文本编辑器的第一步肯定是先安装依赖 npm i vue-quill-editor 1.如果按照官网富文本编辑器中的图片上传是将图片转为base64格式的,如果需要上传图片到自己的服务器,需要修改配置. 创建一个quill-config.js的文件,里面写自定义图片上传.代码如下 /*富文本编辑图片上传配置*/ const uploadConfig = { action: '', // 必填参数 图片上传地址 methods: 'POST', // 必填参数 图片上传方式 token: ''

在EasyUI项目中使用FileBox控件实现文件上传处理

我在较早之前的随笔<基于MVC4+EasyUI的Web开发框架形成之旅--附件上传组件uploadify的使用>Web框架介绍中介绍了基于Uploadify的文件上传操作,免费版本用的是Jquery+Flash实现文件的上传处理,HTML5收费版本的没有试过.随着Flash逐渐退出整个环境,很多浏览器都可能不再支持Flash的了,因此在更新原有EasyUI整个框架的时候,我们对框架全面进行了完善,包括替换了这个Uploadify的文件上传模块,使用EasyUI内置的FileBox控件,结合Jq

vue项目中利用popstate处理页面返回操作

需求背景:项目中需要做一个返回确认,避免用户误触返回键而退出当前页面. 原理:利用history和浏览器刷新popstate状态 实现: 1.在mounted() 阶段判断并添加popstate事件监听,History.pushState()(参数:一个状态对象,一个标题(现在被忽略了),以及一个可选的URL地址) 2.在methods里定义监听操作函数 3.页面销毁时,取消监听.(注意:一定要取消监听,否则其他vue路由页面也会被监听) 原文地址:https://www.cnblogs.com

在vue项目中添加一个html页面,开启本地服务器

在vue项目里新增一个不需要登录的页面,那么我只能新增一个html页面了,不经过路由,直接在浏览器输入路径打开,那么就需要用到本地服务器, 1.vue里面的html页面最好放过在public文件夹里面,但是我的vue项目没有public,就只好放在static里面了,这样可以不经过vue的路由 2.然后就是开本地服务器,当然,是基于node的, 1)可以在这里下载 https://nodejs.org,安装完成后可以在控制台输入:node -v 查看版本号 2)下载http-server:在控制

Laravel项目中使用markdown编辑器及图片粘贴上传七牛云

本文为转载,原文:http://www.chairis.cn/blog/article/15 Markdown Markdown是一种可以使用普通文本编辑器编写的标记语言,通过简单的标记语法,它可以使普通文本内容具有一定的格式.本次我们选用的编辑器是: Editor.md,官网中也有很详细的介绍.从官网中下载安装下载的内容中,也有很多demo可以借鉴.在下载的包中,去除一些多余的内容,只保留我们需要的内容,然后加到项目的public目录下,如下图红色框内的内容: 项目中使用 在项目中使用edit

vue项目中使用qrcode生成二维码

1.安装:npm install qrcode 2.html: 1 <template> 2 <div> 3 <div id="code"></div> 4 <canvas id="canvas"></canvas> 5 </div> 6 </template> 3.逻辑: 1 import QRCode from 'qrcode 2 export default { 3

截取部分字符串中的内容(可做文件上传时的文件重命名)

最近的项目中要使用springmvc做一个图片上传的功能,对于图片上传的文件名的规范命名需要做一个调整,记录一下:

vue 项目中当访问路由不存在的时候默认访问404页面

前言: 在Vue项目中,当访问的页面路由不存在或错误时,页面显示为一片空白.然而,通常我们需要对访问url不存在或者错误的情况下添加默认的404页面,即not found页面. 一般的处理方法是: 在最后添加一个path: * ,优先级从上到下查找路由,都没有的时候全部指向 404页面 ,代码如下: const baseRoute = [ { path: '/login', name: 'login', component: Login }, {path: '/', redirect: '/in

如何在Vue项目中使用vw实现移动端适配

https://www.w3cplus.com/mobile/vw-layout-in-vue.html  原文网址 如何在Vue项目中使用vw实现移动端适配 作者:大漠 日期:2018-01-25 点击:10362 vw Layout 布局 Vue mobile 编辑推荐:使用 Coding.net 搭建静态博客,自定义域名,全站 HTTPS 加密,自动实时部署, 立即托管您的网站! 有关于移动端的适配布局一直以来都是众说纷纭,对应的解决方案也是有很多种.在<使用Flexible实现手淘H5页