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

网站开发项目责任分配矩阵宜春企业网站的建设

网站开发项目责任分配矩阵,宜春企业网站的建设,襄阳网站建设价格低,网站支付平台是怎么做的文章目录 1、前言1、FileReader3、window.URL.createObjectURL4、参考链接 1、前言 一般来说,都是 后端返回给前端图片的url,前端直接把这个值插入到 img 的src 里面即可还有一种情况是前端需要预览一下图片,比如:上传头像按钮&a…

文章目录

    • 1、前言
    • 1、FileReader
    • 3、window.URL.createObjectURL
    • 4、参考链接

1、前言

  • 一般来说,都是 后端返回给前端图片的url,前端直接把这个值插入到 img 的src 里面即可
  • 还有一种情况是前端需要预览一下图片,比如:上传头像按钮,前端需要临时 预览一下图片

这个时候就有两种方案了

  1. 方式一 转base64预览
  2. 方式二 生成blob图片预览路径url

1、FileReader

可以利用 FileReader 把文件转成 base64格式

<!DOCTYPE html>
<html lang="en"><head><meta charset="UTF-8"><meta name="viewport" content="width=device-width, initial-scale=1.0"><title>Document</title>
</head><body><input id="file1" type="file" value="FileReader.readAsDataURL 方式" multiple><script>let file1El = document.querySelector('#file1')file1El.addEventListener('change', function (e) {// 可能会上传多个文件 let files = e.target.filesconsole.log('files', files);if (files.length != 0) {loadFiles(files).then((fileContents) => {console.log(fileContents); // 在所有文件加载完成后,打印包含所有文件内容的数组fileContents.forEach(f => {let imgEl = document.createElement('img')imgEl.src = fimgEl.style.width = '100px'imgEl.style.height = '200px'document.body.appendChild(imgEl)})}).catch((error) => {console.error(error); // 处理错误情况});}})function loadFiles(files) {const promises = []for (const item of files) {promises.push(readFile(item))}return Promise.all(promises);}// 利用 promise 封装一个生成 base64的 函数,因为 onload 事件不是同步的,它需要事件处理function readFile(file) {return new Promise((resolve, reject) => {const reader = new FileReader();reader.onload = (event) => {const result = reader.result;if (typeof result === 'string') {resolve(result);} else {reject(new Error("Failed to read file"));}};reader.onerror = (event) => {reject(event.target.error);};// 参数file: 从中读取的 Blob 或 File 对象reader.readAsDataURL(file);});}</script></body></html>

3、window.URL.createObjectURL

window.URL.createObjectURL 方法 返回一个 url,可以直接放在 img 的src 属性上,也可以直接放在浏览器打开

<!DOCTYPE html>
<html lang="en"><head><meta charset="UTF-8"><meta name="viewport" content="width=device-width, initial-scale=1.0"><title>Document</title>
</head><body><input id="file2" type="file" value="createObjectURL 方式" multiple><script>let file2El = document.querySelector('#file2')file2El.onchange = function () {let files = file2El.filesfor (const item of files) {// 接收 File、Blob 或 MediaSource 对象。let url = window.URL.createObjectURL(item)console.log('url', url);let img = document.createElement('img')// createObjectURL 返回的格式比如:blob: http://127.0.0.1:5500/3c9e3502-1c0c-4dae-b4dc-26b68f207285img.src = urldocument.body.appendChild(img)}}</script>
</body></html>

4、参考链接

  • createObjectURL MDN
  • FileReader MDN
http://www.yayakq.cn/news/191519/

相关文章:

  • 地方网站建设网站域龄查询
  • 网站设计制作一条龙免费行情软件免费下载的网站
  • 个人推广网站神木网站建设设计
  • 在360网站上怎么做推广新公司网站建设方案
  • 长沙网站主机商务网站建设实训过程
  • 岳阳企业网站定制开发wordpress改成英文
  • 汕头自助建站系统做网站最适合用多大的图片
  • 软件开发与网站开发的区别wordpress菜单属性
  • aspcms免费旅游网站模板建设网站报价单
  • 仓库改造类网站怎么做wordpress 注册不了
  • 网站源代码安装大连网络营销公司
  • 电子产品网站模板企业网站的建设步骤包括
  • django 网站开发视频教程开公司要什么条件
  • js网站访问量统计网站开发工程师报名地点
  • WordPress discuz 仿站商务网站前台模板
  • 做 理财网站有哪些问题互联网技术培训机构
  • 网站文章没有被收录吗建设部监理工程师报考网站
  • 厦门市建设工程安全管理协会网站discuz集成wordpress
  • Wordpress 建站 软件下载百度地图2022最新版官方
  • 网站策划案例wordpress登陆页面模板
  • 网站侧边栏怎么做百度com百度一下你
  • 电子外贸网站wordpress文件调用
  • 直接进网站的浏览器备案网站可以做接码平台么
  • 晋中市住房与城乡建设厅网站网站的数据备份和恢复
  • 哪些电影网站怎么建设的瑞安网站建设优化推广
  • php网站如何编辑wordpress图片主题中文
  • 菏泽市住房和城乡建设路网站wordpress废弃函数
  • 温州有没有专门的企业网站wordpress汽车模版
  • 商城网站怎么做推广通辽市做网站公司
  • 新建茶叶网站文章内容建设游戏开发学什么专业