当前位置: 首页 > news >正文

免费域名怎么做网站做饼的网站

免费域名怎么做网站,做饼的网站,江苏宿迁租房网,福建住房和城乡建设厅网站注#xff1a;该列出的代码#xff0c;都在文章内示例出 1. 另存为按钮事件#xff1a; const saveAsHandler async () {const { path, sessionId } recordInfoif(typeof message ! string) return;// 因为我的图片是加密的#xff0c;所以我需要根据接口返回的路…注该列出的代码都在文章内示例出 1. 另存为按钮事件 const saveAsHandler async () {const { path, sessionId } recordInfoif(typeof message ! string) return;// 因为我的图片是加密的所以我需要根据接口返回的路径然后根据不同图片的密钥sessionId去进行解密decodeAvatarUrl处理最后返回blob所以这块儿不必纠结const res await decodeAvatarUrl(path, sessionId, false)// blob转ArrayBufferblobToArrayBuffer(res, async (buffer: ArrayBuffer) {const type await getImageType(res) // 将Blob数据传给getImageType经处理后获取图片类型, 请看标题2的代码示例// saveAsPicture 这个就是渲染进程与Electron的通信 请看标题3的代码示例saveAsPicture({ buffer, name: getNowTime(), type }).then(() setOpen(false))})}2. getImageType代码 /*** get image type In image buffer*/ export function getImageType (blob: Blob) {return new Promise((resolve: (type: string) void, reject) {const reader new FileReader();reader.onload (event: any) {// 使用Uint8Array和DataView来读取文件头部const arr new Uint8Array(event.target.result);const view new DataView(arr.buffer);// 根据文件头部的magic number判断文件类型switch (view.getUint16(0, false)) {case 0xffd8: // JPEGresolve(image/jpeg);break;case 0x8950: // PNGresolve(image/png);break;case 0x4749: // GIFresolve(image/gif);break;case 0x4949: // TIFFcase 0x4d4d: // TIFFresolve(image/tiff);break;default:reject(new Error(Unsupported image type));}};reader.onerror reject;// 读取Blob为ArrayBufferreader.readAsArrayBuffer(blob);}) }3. saveAsPicture的主要代码 /** 校验另存为 */ type saveAsPicturePrams {buffer: ArrayBuffer;name: string;type: string; } /** 另存为 */ export const saveAsPicture (params: saveAsPicturePrams) {// 关于与Electron的UI.SAVEASPATH的通信请看标题4return ipcRenderer.invoke(UI.SAVEASPATH, params) }4. Electron进程与渲染进程的交互 /*** 对话窗口另存为图片时需要获取选择要存储的路径* param buffer 数据* name 文件名* type 文件类型*/ ipcMain.handle(UI.SAVEASPATH, (e, arg: { buffer: ArrayBuffer, name: string, type: string; }) {return new Promise(async (resolve, reject) {const { buffer, name, type } arg;const imageType type?.split(/).pop() //获取图片格式const imageName xxxxxxx_${name}const defaultPath path.join(app.getPath(downloads),${imageName}.${imageType})await dialog.showSaveDialog(mainWindow, {title: 另存为...,buttonLabel: 保存,defaultPath,properties: [createDirectory],filters: [{name: 图片文件(*.${imageType}),extensions: [imageType]}]}).then((res: any) {if(res.canceled) {resolve(res)return;};fs.writeFileSync(res.filePath, new DataView(buffer))resolve(res)})})}) 效果图
http://www.yayakq.cn/news/3457/

相关文章:

  • 建网站可以铺货wordpress大学模板
  • 上海专业网站建设服响应式布局实现
  • 提供龙岗网站建设新网站怎么做seo
  • 网站开发需要会什么python网页游戏开发
  • 做设计找图有哪些网站用什么搭建个人网站
  • 淘客手机版网站怎么做网站运营是做什么的
  • 建网站权威公司物流网站给做软件
  • 网站开发商城酒类网站该怎么做
  • 网站平台建设成本网络有哪些广告推广方式
  • 视频网站怎么做外链网络舆情应对措施
  • 网站实时推送怎么做wordpress 后台登录慢
  • 500亿网站建设wordpress 买主题
  • 长清网站建设电话海南城乡建设庁网站
  • 国外网站做acm题目比较好陕西响应式网站建设公司
  • 有没有专门找装修公司的网站中国搜索提交网站
  • 广东恒力建设工程有限公司网站互联网产品推广案例范文
  • 网站后台程序开发wordpress语言插件qx
  • 合肥网站建设设计公司江苏国泰做的网站案例
  • 改行做网站怎样用8uftp做网站
  • 如何编程制作自己的网站一个小胖子从网站做任务的网站故事
  • 大潮建设集团有限公司 网站北京网页设计公司兴田德润怎么样
  • 云南热搜科技做网站不给源码dz论坛seo
  • 承德优化网站建设wordpress能生成静态文件下载
  • 国内阿里巴巴网站怎么做西宁做网站君博先进
  • 做网站UI说不会写文案wordpress 删除修订版本
  • 企业营销型网站建设荆门做网站公司
  • 自建站模板网站行业
  • 自己的网站怎么做seo阿里云上的网站空间好用吗
  • 专业的家居行业网站模板网站建设百度小程序
  • 做网站guangxiyandawordpress英文企业模板下载地址