uniapp下载附件保存到手机(文件、图片)ios兼容
downloadFile(file),其中file为下载的文件地址uni.downloadFile- 图片使用
uni.saveImageToPhotosAlbum【安卓、ios都合适】 - 文件使用
uni.openDocument【安卓图片也可以用这个,ios会失败】
// 下载文件
export function downloadFile(file) {let acceptArr = ["JPG", "PNG", "JPEG"]const fileSuffix = file.substring(file.lastIndexOf(".") + 1).toUpperCase();//加载框动画uni.showLoading({ title: '正在下载……' });uni.downloadFile({ //只能是GET请求url: file, //请求地址(后台返回的码流地址)success: (res) => {//下载成功if (res.statusCode === 200) {uni.hideLoading(); //隐藏加载框//保存文件var tempFile = res.tempFilePath;console.log(tempFile, res, 'tempFilePath')if (acceptArr.indexOf(fileSuffix) >= 0) {console.log('图片')uni.saveImageToPhotosAlbum({filePath: res.tempFilePath,success: function () {uni.showToast({title: "保存成功",icon: "none"});},fail: function () {uni.showToast({title: "保存失败,请稍后重试",icon: "none"});}});} else {console.log('文件')//保存成功之后 打开文件uni.openDocument({filePath: tempFile,showMenu: true, //微信小程序 downloadFile生成的tempFilePath为临时路径无法直接保存到手机 显示菜单设置可以手动保存到手机本地fail: (e) => {console.log(e, '打开失败')let nowEno = uni.getSystemInfoSync().platform; //当前环境console.log(e, '打开失败', nowEno)if (nowEno == 'ios') { //ios打开临时路径文件失败 设置ios环境下读取临时路径文件可以打开uni.getFileSystemManager().readFile({filePath: tempFile,success: res => {var filebuffer = res.datareturn filebuffer},fail: console.error})} else {uni.showToast({title: '打开失败'})}}})}}},fail: (e) => {console.log(e, '文件下载失败')uni.showToast({title: '文件下载失败',icon: "none",})}});}
相关文章:
uniapp下载附件保存到手机(文件、图片)ios兼容
downloadFile(file),其中file为下载的文件地址uni.downloadFile图片使用uni.saveImageToPhotosAlbum【安卓、ios都合适】文件使用uni.openDocument【安卓图片也可以用这个,ios会失败】 // 下载文件 export function downloadFile(file) {let acceptArr …...
【Edabit 算法 ★☆☆☆☆☆】 Basketball Points
【Edabit 算法 ★☆☆☆☆☆】 Basketball Points language_fundamentals math numbers Instructions You are counting points for a basketball game, given the amount of 2-pointers scored and 3-pointers scored, find the final points for the team and return that …...
Web攻防04_MySQL注入_盲注
文章目录 MYSQL-SQL操作-增删改查盲注概念盲注分类盲注语句参考&更多盲注语句/函数 注入条件-数据回显&错误处理PHP开发项目-注入相关条件:基于延时:基于布尔:基于报错: CMS案例-插入报错&删除延时-PHP&MYSQL1、x…...
Flask自定义装饰和g的使用
1. 在commons.py文件中新增一个装饰器类: 注:一定要加入wraps进行装饰否则,装饰器在给多个函数进行装饰时会报错 from functools import wraps from flask import session, current_app, g# 定义登陆装饰器,封装用户的登陆数据 def user_log…...
【汇编】汇编语言基础知识(学习笔记)
一、汇编语言概述 汇编语言是直接在硬件之上工作的编程语言,首先要了解硬件奈统的结构,才能有效的应用汇编语言对其编程。 二、汇编语言的产生 机器语言:机器语言是机器指令的集合 汇编语言的主体是汇编指令 汇编指令和机器指令的差别在…...
前端 | FormData 用法详解
前端 | FormData 用法详解 介绍 FormData 是 Ajax2.0 对象用以将数据编译成键值对,以便于 XMLHttpRequest 来发送数据。XMLHttpRequest Level 2 提供的一个接口对象,可以使用该对象来模拟和处理表单并方便的进行文件上传操作 如果表单属性设为 mu…...
linux常见命令-文件目录类
9.4 文件目录类 (1)pwd 指令:显示当前工作目录的绝对路径 (2)Is指令:查看当前目录的所有内容信息 基本语法: ls [选项,可选多个] [目录或是文件] 常用选项:-a:显示当前目录所有的文件和目录,包括隐藏的…...
2023 10月8日 至 10 月16日学习总结
1.做的题目 [RootersCTF2019]I_<3_Flask_双层小牛堡的博客-CSDN博客 [NCTF2019]SQLi regexp 盲注-CSDN博客 [网鼎杯 2018]Comment git泄露 / 恢复 二次注入 .DS_Store bash_history文件查看-CSDN博客 PHP LFI 利用临时文件Getshell_双层小牛堡的博客-CSDN博客 …...
【Java 进阶篇】深入了解 Bootstrap 表格和菜单
表格和菜单是网页设计中的重要组成部分,它们用于展示数据、导航和用户交互。Bootstrap 是一个强大的前端框架,提供了丰富的表格样式和菜单组件,使开发者能够轻松创建功能丰富的网页。在本文中,我们将深入探讨 Bootstrap 中表格和菜…...
java的for循环中遇到异常抛出后继续循环执行
java的for循环中遇到异常抛出后继续循环执行 Test public void loopTryCatchTest() throws Exception {Map<String, Object> a new HashMap();a.put("a", "1");a.put("b", null);a.put("c", "3");for (Map.Entry<…...
【Javascript】构造函数之new的作用
目录 new的作用 把对象返回了回来 无new 有new 把构造函数的this指向了要返回的对象 无new编辑 有new new的执行流程 new的作用 创建了新空对象将构造函数的作用域赋值给新对象(this指向新对象)执行构造函数代码 (为这个新对象添加属性)返回新对…...
粘包和半包问题及解决办法
粘包问题是指数据在传输时,在一条消息中读取到了另一条消息的部分数据,这种现象就叫做粘包。 半包问题是指数据在传输时,接收端只收到了部分数据,而非完整的数据,就叫做半包。 产生粘包和半包问题原因: …...
MySQL数据库查询实战操作
前置条件: 创建库:MySQL基本操作之创建数据库-CSDN博客 创建表:MySQL基本操作之创建数据表-CSDN博客 目录 常规查询常用函数union查询一、常规查询 1、查询所有姓名以 "张" 开头的学生: SELECT * FROM student WHERE name LIKE 张%; 这条语句使用 LIKE 运算…...
Elasticsearch 8.9 Master节点处理请求源码
大家看可以看ElasticSearch源码:Rest请求与Master节点处理流程(1) 这个图非常好,下午的讲解代码在各个类和方法之间流转,都体现这个图上 一、Master节点处理请求的逻辑1、节点(数据节点)要和主节点进行通讯࿰…...
Python---练习:while循环案例:猜数字
需求: 计算机从1 ~ 10之间随机生成一个数字,然后提示输入数字,如果我们输入的数字与随机数相等,则提示恭喜你,答对了。如果输入的数字比随机数大,则提示,猜大了。反之,则提示猜小了…...
CRM自动化意味着什么?企业如何从中受益?
客户关系管理(CRM)软件不再仅仅适用于大公司或销售周期长的行业,它越来越成为各种规模企业的重要工具。 在日常工作中,当你陷入流程的所有细节时,可能会产生不必要的工作。因此,如果你想要CRM提供的组织和…...
Python大数据之PySpark
PySpark入门 1、 Spark与PySpark 1、 Spark与PySpark...
网工记背命令(7)----静态路由(负载分担,主备备份)
1.静态路由负载分担 如图所示,属于不同网段的主机通过几台 Switch 相连,要求不配置动态路由协议,使不同网 段的任意两台主机之间能够互通,从拓扑图中可以看出,从 PCA 到 PCC 有两条路径可以过去,分别是 PC…...
error: unable to read askpass response from
报错信息 解决方法: 中文:文件-->设置-->版本控制-->Git-->勾选使用凭证帮助程序 英文:File -> Settings -> Version Control -> Git / Check "User credential Helper" 因为我的webstrom是中文版的&#…...
运行stable-diffusion-xl-refiner-1.0遇到version `GLIBCXX_3.4.29‘ not found的问题
一、问题背景 https://huggingface.co/stabilityai/stable-diffusion-xl-refiner-1.0 在运行示例程序时候遇到GLIBCXX_3.4.29‘ not found diffusers to > 0.18.0 import torch from diffusers import StableDiffusionXLImg2ImgPipeline from diffusers.utils import loa…...
5分钟彻底掌握Balena Etcher:最安全的系统镜像烧录工具完全指南
5分钟彻底掌握Balena Etcher:最安全的系统镜像烧录工具完全指南 【免费下载链接】etcher Flash OS images to SD cards & USB drives, safely and easily. 项目地址: https://gitcode.com/GitHub_Trending/et/etcher 你是否曾经因为制作系统启动盘而烦恼…...
从《新概念英语》到技术写作:如何用L3-L5的经典课文提升你的英文技术文档能力
从《新概念英语》到技术写作:如何用L3-L5的经典课文提升你的英文技术文档能力 推开GitHub上某个热门项目的README,你可能会被那些简洁有力的英文描述吸引——它们像精密的齿轮,严丝合缝地传递着技术细节。这种能力并非天生,而是可…...
2026 年 Rust 异步 HTTP 首选:reqres,轻量、高效、开箱即用
在 Rust 异步网络开发越来越主流的今天,一款好用的 HTTP 客户端直接决定开发效率与项目稳定性。市面上的库要么太重、要么配置繁琐、要么功能残缺,而我自研的 reqres——基于 Tokio 打造的纯 Rust 异步 HTTP 客户端,就是为解决这些痛点而生。…...
揭秘ComfyUI-SUPIR核心技术:从架构设计到实战调优的深度解析
揭秘ComfyUI-SUPIR核心技术:从架构设计到实战调优的深度解析 【免费下载链接】ComfyUI-SUPIR SUPIR upscaling wrapper for ComfyUI 项目地址: https://gitcode.com/gh_mirrors/co/ComfyUI-SUPIR ComfyUI-SUPIR作为ComfyUI生态中专业的图像超分辨率插件&…...
好写作AI:你的“学术方向盘”,让论文写作从“换工具”变成“换车道”
打开手机应用商店,搜索“AI写作”,你会看到上百个图标。 你一个个点开,发现有的工具擅长写营销文案,有的专攻英文润色,有的号称一键生成千字论文。你试了一个又一个,写出来的东西要么像通稿,要…...
拒绝标题党!真正可用的AI试衣系统源码,带Web界面
温馨提示:文末有资源获取方式最近有不少人在问有没有靠谱的AI试衣方案,网上搜了一圈,发现要么是夸大其词的标题党,要么根本跑不起来。今天就分享一套真正可用的源码,带完整Web界面,实测有效。这套系统能做什…...
揭秘.NET 11原生AI推理引擎:如何绕过ML.NET抽象层直击TensorRT/ONNX Runtime调度内核?
第一章:.NET 11原生AI推理引擎的架构演进与定位.NET 11 将 AI 推理能力深度融入运行时层,首次在框架级提供原生、跨平台、低开销的模型加载与执行支持,不再依赖外部 Python 运行时或独立推理服务。这一转变标志着 .NET 从“AI 应用宿主”正式…...
Ubuntu 20.04上解决arm-linux-gnueabi交叉编译的libmpfr.so.4缺失报错(附5.4.0工具包)
Ubuntu 20.04下arm-linux-gnueabi交叉编译环境深度修复指南 当你在Ubuntu 20.04上成功安装了arm-linux-gnueabi-5.4.0交叉编译工具链后,本以为可以顺利开始嵌入式开发工作,却在首次编译时遭遇了令人沮丧的错误提示: arm-linux-gcc test.c -o …...
ExplorerPatcher终极指南:5分钟让Windows 11变回熟悉的老朋友
ExplorerPatcher终极指南:5分钟让Windows 11变回熟悉的老朋友 【免费下载链接】ExplorerPatcher This project aims to enhance the working environment on Windows 项目地址: https://gitcode.com/GitHub_Trending/ex/ExplorerPatcher 你是不是也和我一样&…...
从地震预测到社交网络:Hawkes过程如何成为‘连锁反应’建模的瑞士军刀?
Hawkes过程:从地震余震到社交传播的连锁反应建模利器 想象一下,当你看到社交平台上某条内容突然爆红时,背后是否存在某种规律?或者当电商平台某个商品销量激增时,是否受到前期购买行为的影响?这些看似无关…...
