小程序上传文件 wx.uploadFile

2024-08-21 01:48
文章标签 程序 上传 wx uploadfile

本文主要是介绍小程序上传文件 wx.uploadFile,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

 微信小程序实现文件图片上传功能

准备工作:

在微信公众平台配置uploadFile域名白名单,开发管理->开发设置->服务器域名->uploadFile合法域名

如下图

 

使用 wx.chooseImage + wx.uploadFile

view

<view class="cu-form-group">

        <view class="grid col-4 grid-square flex-sub">

            <view class="bg-img" wx:for="{{imgList}}" wx:key="imagelist" bindtap="ViewImage" data-url="{{imgList[index]}}">

                <image src='{{baseUrl+imgList[index]}}' mode='aspectFill'></image>

                <view class="cu-tag bg-red" catchtap="DelImg" data-index="{{index}}">

                    <text class="cuIcon-close"></text>

                </view>

            </view>

            <view class="solids" bindtap="ChooseImage" wx:if="{{imgList.length<4}}">

                <text class="cuIcon-cameraadd"></text>

            </view>

        </view>

    </view>

 js处理部分

 ChooseImage() {

        let that = this;

        let token = wx.getStorageSync('token');

        let openId = wx.getStorageSync('openId');

        wx.chooseImage({

            count: 1, //默认9

            sizeType: ['original', 'compressed'], //可以指定是原图还是压缩图,默认二者都有

            sourceType: ['album'], //从相册选择

            success: (res) => {

                let filePath = res.tempFilePaths[0];

                wx.uploadFile({

                    url: config.api_blink_url + `/app/app/upload`,

                    filePath: filePath,

                    name: 'file',

                    header: {

                        'appId': config.appId,

                        'token': token || '',

                        'openId': openId || '',

                        'uuid': config.uuid,

                        'accept': 'application/json',

                        "Content-Type": "multipart/form-data"//记得设置

                    },

                    // formData: {

                    //     'file': filePath

                    // },

                    // body: {

                    //     'file': filePath

                    // },

                    success: function(result) {

                        if (result.statusCode === 500 ) {

                            wx.showToast({

                                title: `图片上传失败`,

                                icon: 'error',

                                duration: 1500

                            })

                            return;

                        }

                        let resData = JSON.parse(result.data);

                        if (resData && resData.code === 0) {

                            let path = resData.data.img;

                            if (that.data.imgList.length != 0) {

                                that.setData({

                                    imgList: that.data.imgList.concat(path)

                                })

                            } else {

                                let list = [path]

                                that.setData({

                                    imgList: list

                                })

                            }

                        }

                    },

                    complete: function(result) {},

                    fail: function(result) {

                        wx.showToast({

                            title: `图片上传失败`,

                            icon: 'error',

                            duration: 1500

                        })

                    }

                });

                

            }

        });

    },

 实现效果如下:

 

 

这篇关于小程序上传文件 wx.uploadFile的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/1091774

相关文章

Python使用FastAPI实现大文件分片上传与断点续传功能

《Python使用FastAPI实现大文件分片上传与断点续传功能》大文件直传常遇到超时、网络抖动失败、失败后只能重传的问题,分片上传+断点续传可以把大文件拆成若干小块逐个上传,并在中断后从已完成分片继... 目录一、接口设计二、服务端实现(FastAPI)2.1 运行环境2.2 目录结构建议2.3 serv

Python一次性将指定版本所有包上传PyPI镜像解决方案

《Python一次性将指定版本所有包上传PyPI镜像解决方案》本文主要介绍了一个安全、完整、可离线部署的解决方案,用于一次性准备指定Python版本的所有包,然后导出到内网环境,感兴趣的小伙伴可以跟随... 目录为什么需要这个方案完整解决方案1. 项目目录结构2. 创建智能下载脚本3. 创建包清单生成脚本4

SpringBoot+RustFS 实现文件切片极速上传的实例代码

《SpringBoot+RustFS实现文件切片极速上传的实例代码》本文介绍利用SpringBoot和RustFS构建高性能文件切片上传系统,实现大文件秒传、断点续传和分片上传等功能,具有一定的参考... 目录一、为什么选择 RustFS + SpringBoot?二、环境准备与部署2.1 安装 RustF

python获取指定名字的程序的文件路径的两种方法

《python获取指定名字的程序的文件路径的两种方法》本文主要介绍了python获取指定名字的程序的文件路径的两种方法,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要... 最近在做项目,需要用到给定一个程序名字就可以自动获取到这个程序在Windows系统下的绝对路径,以下

SpringBoot实现不同接口指定上传文件大小的具体步骤

《SpringBoot实现不同接口指定上传文件大小的具体步骤》:本文主要介绍在SpringBoot中通过自定义注解、AOP拦截和配置文件实现不同接口上传文件大小限制的方法,强调需设置全局阈值远大于... 目录一  springboot实现不同接口指定文件大小1.1 思路说明1.2 工程启动说明二 具体实施2

基于Python编写自动化邮件发送程序(进阶版)

《基于Python编写自动化邮件发送程序(进阶版)》在数字化时代,自动化邮件发送功能已成为企业和个人提升工作效率的重要工具,本文将使用Python编写一个简单的自动化邮件发送程序,希望对大家有所帮助... 目录理解SMTP协议基础配置开发环境构建邮件发送函数核心逻辑实现完整发送流程添加附件支持功能实现htm

C#控制台程序同步调用WebApi实现方式

《C#控制台程序同步调用WebApi实现方式》控制台程序作为Job时,需同步调用WebApi以确保获取返回结果后执行后续操作,否则会引发TaskCanceledException异常,同步处理可避免异... 目录同步调用WebApi方法Cls001类里面的写法总结控制台程序一般当作Job使用,有时候需要控制

Spring Boot 结合 WxJava 实现文章上传微信公众号草稿箱与群发

《SpringBoot结合WxJava实现文章上传微信公众号草稿箱与群发》本文将详细介绍如何使用SpringBoot框架结合WxJava开发工具包,实现文章上传到微信公众号草稿箱以及群发功能,... 目录一、项目环境准备1.1 开发环境1.2 微信公众号准备二、Spring Boot 项目搭建2.1 创建

golang程序打包成脚本部署到Linux系统方式

《golang程序打包成脚本部署到Linux系统方式》Golang程序通过本地编译(设置GOOS为linux生成无后缀二进制文件),上传至Linux服务器后赋权执行,使用nohup命令实现后台运行,完... 目录本地编译golang程序上传Golang二进制文件到linux服务器总结本地编译Golang程序

使用Docker构建Python Flask程序的详细教程

《使用Docker构建PythonFlask程序的详细教程》在当今的软件开发领域,容器化技术正变得越来越流行,而Docker无疑是其中的佼佼者,本文我们就来聊聊如何使用Docker构建一个简单的Py... 目录引言一、准备工作二、创建 Flask 应用程序三、创建 dockerfile四、构建 Docker