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

java做网站教程免费自己建网页

java做网站教程,免费自己建网页,ps软件下载花钱吗,深圳涂料网站建设文章目录 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.shuangfujiaoyu.com/news/44035.html

相关文章:

  • 如何腾讯云二级域名做网站seo 优化公司
  • 昆明做门户网站的公司长沙网站开发制作
  • 建设律师推广网站电脑课程培训零基础
  • 专门做善事的网站微商引流被加方法精准客源
  • wordpress编辑器问题google移动服务应用优化
  • 温州网站关键词推广企业培训机构
  • 北京南昌网站建设新站优化案例
  • 珠海网站制作费用网络营销的营销方式
  • 域名查询注册信息合肥品牌seo
  • 网站注册转化率高端网站建设制作
  • 政府网站建设工作汇报seo怎么优化
  • 做ppt哪个网站的图片好网络推广营销培训机构
  • 用自己网站做邮箱域名解析企业宣传视频
  • 怎么用ps做静态网站seo是什么牌子
  • 做网站需要icp经营许可证seo百度推广
  • 嘉兴网站排名公司谷歌商店官网下载
  • 京东的网站建设历史绍兴seo排名
  • 嘉兴网站搭建百度关键词优化送网站
  • 北辰做网站公司seo面试常见问题及答案
  • 定制网站需要多少钱中国今天新闻最新消息
  • 网站建设和网站优化哪个重要给你一个网站怎么优化
  • 阿里云可以放几个网站精准营销方式有哪些
  • 1网站建设营销策略有哪些4种
  • 杭州做网站找力果东莞seo推广
  • 黑苹果做网站开发吗微博营销
  • 小程序开发成本班级优化大师
  • 公司百度网站建设国内最好的seo培训
  • 网站的建设要多少钱大学生创新创业大赛
  • 成都网站建设 四川冠辰seo网络优化软件
  • 长沙市政府网站建设现状百度公司简介介绍