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

建设交易网站多少钱对外网站ipv6建设方案模板

建设交易网站多少钱,对外网站ipv6建设方案模板,网络科技公司logo,seo实战密码文章目录 背景介绍案例介绍代码示例popup页面#xff0c;上传文件页面popup页面#xff0c;js上传代码#xff0c;file文件转base64background监听消息#xff0c;base64转file文件#xff0c;axios上传 附-转base64后直接下载 背景介绍 示例扩展API版本MV2。 以弹… 文章目录 背景介绍案例介绍代码示例popup页面上传文件页面popup页面js上传代码file文件转base64background监听消息base64转file文件axios上传 附-转base64后直接下载 背景介绍 示例扩展API版本MV2。         以弹出窗口popup和背景页面background page为例。         在浏览器中弹出窗口popup和背景页面background page之间可以通过消息通道进行通信。但是由于安全限制弹出窗口不能直接访问背景页面的文件系统或进行文件传输。         然而可以使用一些方法来实现弹出窗口向背景页面传输文件就是在popup页面将文件转为base64的字符串格式向background传输然后再将base64重新转为file对象达到传输文件的目的。 案例介绍 从popup页面选择文件开始上传触发上传按钮后获取到选择的文件并将文件传输到background触发上传接口传输到服务器端完成文件上传操作。 代码示例 使用到的js工具有jquery、axios。 popup页面上传文件页面 !DOCTYPE html html langen headmeta charsetUTF-8meta http-equivX-UA-Compatible contentIEedgemeta nameviewport contentwidthdevice-width, initial-scale1.0titlepopup/titlestylebody {width: 400px;height: 450px;background-color: aliceblue;}.contnet {display: flex;flex-direction: column;flex-wrap: nowrap;align-items: center;}.upload_file {display: flex;flex-direction: column;margin-top: 88px;}.upload_btn {border: none;border-radius: 10px;background-color: #4343e0;font-size: 16px;color: white;font-weight: 400;font-family: 微软雅黑;cursor: pointer;}.upload_btn:hover {border: none;border-radius: 10px;background-color: #4343e0;font-size: 16px;color: white;font-weight: 400;font-family: 微软雅黑;cursor: pointer;box-shadow: 0px 0px 0px 1px #848181;}/style /head bodydiv classcontnetdiv classupload_file!-- type: input类型为文件选择类型name: 参数名accept: 上传文件的可选类型--input iduploadFile typefile namemyFile acceptapplication/vnd.openxmlformats-officedocument.spreadsheetml.sheet|application/vnd.ms-excel stylemargin-bottom: 5px; /button iduploadFileBtn classupload_btn typebutton上传/button/div/div /body script typetext/javascript src/utils/chrome.js/script script typetext/javascript src/lib/jquery-3.6.3.js/script script typetext/javascript src/popup/popup.js/script/htmlpopup页面js上传代码file文件转base64 // popop.js、jquery-3.6.3.js // 绑定文件上传的button $(#uploadFileBtn).click(() {// 如果是单文件上传选择第一个文件上传//let file $(#uploadFile)[0].files[0] // oklet file $(#uploadFile).prop(files)[0]if (!file) {alert(文件上传 请先选择文件)return}let boo confirm(是否确认上传文件\n\r 请谨慎操作上传文件)if (boo) {// file转base64let reader new FileReader()reader.readAsDataURL(file)reader.onload () {let base64 reader.result.split(,)[1]// 发送base64到background// chrome.jssendMessageToBackground({type: upload, base64: base64}, (rsp) {// 上传成功 or 失败后做一些操作})}} })background监听消息base64转file文件axios上传 // 上传文件 // axios.js // base64 popup传过来的数据 function uploadFile(base64) {// base64转bloblet blob base64ToBlob(base64, application/vnd.ms-excel)// blob转filelet file new File([blob], 上传文件的名字[filename].xlsx, {type: application/vnd.ms-excel})// 构造formData表单对象发起post请求let formatData new FormData()formatData.append(file, file)// axios发送文件上传的请求return axios({url: upload_url,method: POST,headers: {xx-header: xxx,// Content-Type: multipart/form-data // 不需要设置Content-Type请求头axios请求机制会自动判断发起什么样的请求},transformRequest: [(data, headers) {delete headers[Content-Type]return data}],data: formatData}).then(rsp {// 服务器数据响应return rsp.data}) }/*** * param {*} mineType 选择适当的类型来转换base64并创建Blob二进制对象* application/pdf: 表示 PDF 文件类型可以以可移植文档格式查看和编辑。* application/msword 或 application/vnd.ms-word: 表示 Word 文档类型可以以 Microsoft Word 格式查看和编辑。* application/vnd.openxmlformats-officedocument.wordprocessingml.document: 表示 Word 2007 或更高版本的文件类型可以以 Office Open XML 格式查看和编辑。* application/epubzip: 表示 ePub 电子书类型可以以电子书格式查看和编辑。* application/vnd.ms-powerpoint 或 application/mspowerpoint: 表示 PowerPoint 演示文稿类型可以以 Microsoft PowerPoint 格式查看和编辑。* application/vnd.openxmlformats-officedocument.presentationml.presentation: 表示 PowerPoint 2007 或更高版本的文件类型可以以 Office Open XML 格式查看和编辑。* application/vnd.ms-excel 或 application/msexcel: 表示 Excel 电子表格类型可以以 Microsoft Excel 格式查看和编辑。* application/vnd.openxmlformats-officedocument.spreadsheetml.sheet: 表示 Excel 2007 或更高版本的文件类型可以以 Office Open XML 格式查看和编辑。* image/jpeg、image/png、image/gif 等表示图像类型的数据可以以图像的形式查看和编辑。* returns */ function base64ToBlob(base64, mineType) {mineType mineType || application/octet-streamconst byteCharacters atob(base64)const byteNumbers new Array(byteCharacters.length)for(let i 0; i byteCharacters.length; i) {byteNumbers[i] byteCharacters.charCodeAt(i)}let byteArray new Uint8Array(byteNumbers)return new Blob([byteArray], {type: mineType}) } 附-转base64后直接下载 function download(base64, mineType) {mineType mineType || application/octet-streamconst dataUrl data:${mineType};base64,${base64}const link document.createElement(a)// document.body.appendChild(link)link.href dataUrllink.download file.xlsx // 前提需要先知道是什么文件类型link.click() // 点击下载// document.body.removeChild(link) // 下载完成后移除标签 }
http://www.yingshimen.cn/news/87201/

相关文章:

  • 群网站建设合同主流的网站建设的软件有哪些
  • 如何做自助搜券网站国外网站建立
  • 杭州酒店网站建设音乐网站的制作
  • dw内部网站链接怎么做网站页面设计方案怎么写
  • 产品展示网站模板下载天津市房地产官网
  • 深圳网站建设大概多少钱网站界面设计案例分析
  • 海外网站加速器广州做贸易网站
  • 网站开发符合seo结构做logo的比赛网站
  • 纯静态 网站嘉定网站设计开发
  • 电子商务网站建设与维护试卷答案高大上 网站
  • 合肥建设干部学校网站建设网站功能
  • 小纯洁网站开发wordpress文章页设置全屏
  • 私人公司怎么做网站国外在线crm系统suitecrm
  • 做翻译兼职的网站是哪个职业生涯规划大赛心得体会
  • 旅游做攻略的网站有哪些google提交网站
  • 自适应网站什么做购买手表的网站
  • 做网站需要专业微信公众号开发教程视频
  • 沈阳医疗网站建设网站建设策划书的要求
  • 湖南网站优化外包费用婺源网站建制作
  • 公共设施建设投资公司网站雅奇小蘑菇做网站好不好用
  • 罗湖高端网站设计西安cms模板建站
  • 苏州餐饮 网站建设一个主机可以放几个网站
  • 在门户网站上做推广加盟网站制作定制
  • 汉口江岸区城市建设局网站公司关于网站建设的通知
  • 绮思网站建设qswoo山东卓创网络网站建设
  • 百度网站建设网站流量怎么做
  • 会展相关app和网站的建设情况wordpress 登录 手机版
  • 网站建设彩票网凡科互动官网登录入口官方
  • 在线做网站需要什么广州论坛网站
  • 中国城投建设集团网站做视频网站投入多少