uniapp实现商品图片管理

server/2025/1/11 13:09:22/

  先上效果图(实现商品的图片管理)

           

        (修改前)                                      (修改后)

图片管理移动app常见需求,今天主要演示如何快速实现.这里还是基于 《星云erp-移动版》演示版

(自行下载 导入 Hbuilder, 后端接口可以直接使用我演示接口,不需要修改)

说明: 后端接口已经实现,可以直接gitee上《星云erp-移动版》下载

第一步: 组件选择

我们直接使用uni-file-picker 组件, 具体介绍见:uni-file-picker 文件选择上传 - DCloud 插件市场

第二步:接口方法定义

在这个目录下新增一个上传方法

/**
 * 通用上传图片
 * @data data
 */

export function uploadImage(data) {

    return request({
        url: baseUrl + '/upload/image',
        method: 'post',
        data: data,
        dataType: 'file',
         contentType: ContentTypeConst.BLOB,
    });
}
 

第三步:修改商品列表

<uni-list><uni-list-item v-for="item in searchFormDataList" :title="item.name+'        '+item.code":show-extra-icon="true" showArrow :thumb="item.imageUrl" thumb-size="lg":note="item.categoryName+'  '+item.brandName+'  '+item.createTime" clickable @click="showDetailAndEdit(item.id)" /></uni-list>

第四步:修改编辑和新增表单

<uni-forms-item label="图片"  name="imageUrl">
                            <view>
                                <uni-file-picker limit="1" ref="files" :auto-upload="false" v-model='fileList'
                                    fileMediatype="image" mode="grid" />
                                <button @click="upload">上传图片</button>
                            </view>
                        </uni-forms-item>

第五步:调用上传方法

//上传图片
            upload()
            {
                var _self = this;
                if (this.$refs['files'].files.length > 0) {
                    var fileData = this.$refs['files'].files[0];
                    uploadImage(fileData).then((res) => {
                    if (res.code == 200) {
                        console.log("图片上传成功")
                    }
                });
                }
                
            }

另外还有一种上传方法,就是直接使用uni.uploadFile

写法如下


            //上传图片
            upload() {
                var _self = this;
                if (this.$refs['files'].files.length > 0) {
                    var fileData = this.$refs['files'].files[0];

                    const uploadTask = uni.uploadFile({
                        url: this.globalConfig.baseUrl + '/component/upload/image', // 开发者服务器接口地址
                        filePath: fileData.path, // 要上传文件资源的路径
                        name: 'file', // 文件对应的 key
                        header: {
                            'X-Auth-Token': getToken()
                        },
                        formData: {
                            'file': fileData
                        }, // 请求的 form data
                        success: function(uploadFileRes) {
                            var data = JSON.parse(uploadFileRes.data);
                    
                            // 处理上传成功的结果
                            _self.$set(_self.addAndEditFormData, "imageUrl", data.data);

                        },
                        fail: (error) => {
                            console.error(error);
                            // 处理上传失败的错误
                        }
                    });
                }

            },
 

至此,商品图片管理已经修改完成。

 


http://www.ppmy.cn/server/157471.html

相关文章

Web渗透测试之XSS跨站脚本 原理 出现的原因 出现的位置 测试的方法 危害 防御手段 面试题 一篇文章给你说的明明白白

目录 XSS介绍的原理和说明 Cross Site Scripting 钓鱼 XSS攻击原理 XSS漏洞出现的原因&#xff1a; XSS产生的原因分析 XSS出现位置&#xff1a; XSS测试方法 XSS的危害 防御手段&#xff1a; 其它防御 面试题: 备注&#xff1a; XSS介绍的原理和说明 嵌入在客户…

jenkins入门10--自动化构建

build periodically&#xff1a;设定类似cron周期性时间触发构建 * * * * * (五颗星&#xff0c;中间用空格隔开&#xff09; 第一颗表示分钟&#xff0c;取值0~59 第二颗表示小时&#xff0c;取值0~23 第三颗表示一个月的第几天&#xff0c;取值1~31 第四颗表示第几月&#xf…

jmeter使用说明

一、新建一个测试计划 二、右键测试计划&#xff0c;添加线程组 三、配置线程组 0、配置请求前预处理程序 可以进行参数加签加密等操作。&#xff08;有需求请求参数需要加密加签等操作的可以配置&#xff0c;无需求的可以不配置&#xff09; 添加BeanShell预处理程序 ${__P(…

分布式事务介绍 Seata架构与原理+部署TC服务 示例:黑马商城

1. 什么是分布式事务? 在分布式系统中&#xff0c;如果一个业务需要多个服务合作完成&#xff0c;而且每一个服务都有事务&#xff0c;多个事务必须同时成功或失败&#xff0c;这样的事务就是分布式事务。其中的每个服务的事务就是一个分支事务。整个业务称为全局事务。 打个比…

内核模块里访问struct rq及获取rq_clock_task时间的方法

一、背景 在之前的 CFS及RT调度整体介绍_cfs任务和rt任务-CSDN博客 博客里&#xff0c;我们讲到了内核调度里的一个很重要的概念rq&#xff0c;即运行队列run queue。我们知道&#xff0c;每个cpu上都有一个struct rq的结构体&#xff0c;管理着per-cpu的运行队列的情况&#…

解决WordPress出现Fatal error: Uncaught TypeError: ftp_nlist()致命问题

错误背景 WordPress版本&#xff1a;wordpress-6.6.2-zh_CN WooCommerce版本&#xff1a;woocommerce.9.5.1 WordPress在安装了WooCommerce插件后&#xff0c;安装的过程中没有问题&#xff0c;在安装完成后提示&#xff1a; 此站点遇到了致命错误&#xff0c;请查看您站点管理…

【JAVA面试】java权限修饰符

在 Java 中&#xff0c;访问权限&#xff08;Access Modifiers&#xff09;用于控制类、方法、成员变量等的访问范围。合理使用访问权限能够增强代码的安全性、封装性以及可维护性。 Java 的访问权限修饰符 Java 提供了以下四种访问权限修饰符&#xff0c;分别是&#xff1a; …

学Java第二十六天---------static的用法

1.静态变量static 1.1什么是static 1.2什么是静态变量 1.3静态变量代码示例: public class Student {private String name;private int age;private String id;static String teacherName;public Student() {}public Student(String name, int age, String id) {this.name n…