electron另存为图片

这篇博客介绍了如何在Vue应用中利用 Electron 的 remote 模块和 fs 模块,通过 ref 获取 DOM 中的 img 元素路径,并实现图片的本地保存功能。示例代码展示了从组件的 ref 中获取当前Src,然后调用 savePictureAs 方法进行图片另存为操作,该方法包含了对话框展示、文件写入等步骤。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

  1. 取dom元素的img路径

vue中使用ref获取

    // 保存到本地
    saveQrCode(item) {
      const currentSrc = this.$refs[item.id][0].children[0].currentSrc;
      savePictureAs(currentSrc, item.ename);
    },
  1. 设置方法
/**
 * @description: 图片另存为
 * @param {*currentSrc}  二维码图片路径 -img-src
 * @param { defaultPath} 文件默认保存名
 * @return { status} 是否保存成功
 */
const savePictureAs = (currentSrc, defaultPath = "") => {
  const { dialog } = require("electron").remote;
  const fs = require("fs");
  let base64 = currentSrc.replace(/^data:image\/\w+;base64,/, "");
  let dataBuffer = new Buffer(base64, "base64");
  let dia = dialog.showSaveDialog({
    title: "保存文件",
    defaultPath,
    filters: [{ name: "Custom File Type", extensions: ["png", "jpg"] }],
  });
  //点击取消时
  if (!dia) return;
  fs.writeFile(dia, dataBuffer, function(err) {
    if (err) {
      console.log(err);
    } else {
    }
  });
};

export { savePictureAs };

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值