小程序图片上传

小程序图片上传小程序图片上传 需求 点击上传和删除选中图片功能实例 分析过程 1 首先使用 tt chooseImage 选择上传的图片 获取到所选择图片的网络地址 2 然后使用 tt uploadFile 将选择的图片上传到项目后台 3 其次使用 tt previewImage 实现图片在页面预览的功能 4 最后当图片在页面预览出现时自定义删除图片按钮 使 data 中的图片文件地址设置为 即可 1 HTML viewclass container viewclass container

小程序图片上传:

需求:

点击上传和删除选中图片功能 

实例:

在这里插入图片描述
分析过程:

1.HTML

<view class="container"> <view class="main"> <view class="title">上传图片</view> <!-- 点击上传前的页面 --> <view class="content" tt:if="{ 
   {!imgPreview}}" bindtap="handleUploadImg"> <text class="plus">+</text> </view> <!-- 点击上传后的页面 --> <view class="selectImg" tt:if="{ 
   {imgPreview}}"> <view class="deleteBox" bindtap="deleteImg"> <view class="deleteBtn">x</view> </view> <image class="img" src="{ 
   {imgPreview}}" bindtap="previewImg"> </view> </view> </view> 

2.CSS

.container { 
    width: 100%; } .main { 
    display: flex; padding: 0 16px; flex-direction: column; background-color: #fff; } .title { 
    margin: 16px; } .content { 
    width: 80px; height: 80px; display: flex; justify-content: center; align-items: center; margin: 16px; background-color: #eee; border: 1px dashed #ddd; border-radius: 4px; } .selectImg { 
    position: relative; } .selectImg .img { 
    width: 80px; height: 80px; border-radius: 4px; overflow: hidden; object-fit: contain; margin: 16px; } .deleteBox { 
    position: absolute; top: 20px; left: 74px; width: 16px; height: 16px; line-height: 14px; text-align: center; border-radius: 50%; background-color: #a59f99; } .deleteBtn { 
    color: #fff; } 

3.JS

Page({ 
    data: { 
    imgPreview: '' }, onLoad: function () { 
    }, // 选择并上传 handleUploadImg: function() { 
    const that = this // 从相册或相机拍摄 tt.chooseImage({ 
    sourceType: ["album", "camera"], // PC端无效 count: 1,//最多可选择的图片数量 sizeType: ["compressed"], //图片压缩 success: (res) => { 
    console.log('res: ', res); const previewData = res.tempFilePaths[0] //得到选择图片的网络地址 http://127.0.0.1:3000/.....IMG917.jpeg // 将本地文件上传到网络 tt.uploadFile({ 
    url: 'https://......./service/rest/tk.File/collection/upload', //项目的文件上传接口地址 filePath: res.tempFilePaths[0], // 本地文件路径 name: 'file', // HTTP请求的文件名 success: (res) => { 
    console.log('res: ', res); if(res.statusCode === 200) { 
    that.setData({ 
    imgPreview: previewData }) } } }); } }); }, // 预览图片 previewImg: function() { 
    const { 
    imgPreview } = this.data let url = imgPreview tt.previewImage({ 
    urls: [url], // 图片地址列表 current: 1, //默认显示的图片的地址 success: (res) => { 
    console.log('预览调用成功'); }, fail: (res) =>{ 
    console.log('预览调用失败'); } }); }, // 删除选中的图片 deleteImg: function() { 
    const { 
    imgPreview } = this.data this.setData({ 
    imgPreview: '' }) } }); 
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/229295.html原文链接:https://javaforall.net

(0)
上一篇 2026年3月16日 下午5:02
下一篇 2026年3月16日 下午5:02


相关推荐

  • 不同组织的窗宽窗位

    不同组织的窗宽窗位头颅,脑组织:窗宽设定为80Hu~100Hu,窗位为30Hu~40Hu,垂体及蝶鞍区病:变窗宽宜设在200Hu~250Hu,窗位45Hu~50Hu,脑出血患者可改变:窗宽位80Hu~140Hu,窗位30Hu~50Hu,脑梗死患者:常用窄窗60Hu,能提高病灶的检出率,清楚显示梗死及软化灶,颌面部眼眶:窗宽定为150Hu~250Hu,窗位30Hu~40Hu,…

    2022年6月20日
    39
  • n8n工作流实战:AI自动生成内容发布到Facebook,干掉80%出海营销工作(保姆级教程)

    n8n工作流实战:AI自动生成内容发布到Facebook,干掉80%出海营销工作(保姆级教程)

    2026年3月15日
    2
  • pycharm怎么进行断点调试_pycharm怎么设置断点调试

    pycharm怎么进行断点调试_pycharm怎么设置断点调试PyCharm作为IDE,断点调试是必须有的功能。否则,我们还真不如用纯编辑器写的快。【运行】和【调试】前的设置,请看文章1.添加断点断点的添加如下图所示在代码前面左键单机即可 2.调试断点点击那个绿色的甲虫图标,进行断点调试。点击后,会运行到第一个断点。会显示该断点之前的变量信息。 点击StepOver或者按F8,我们继续往下运行,到下一个断点,按钮…

    2022年8月26日
    9
  • JS查找数组中是否包含某个元素或对象「建议收藏」

    JS查找数组中是否包含某个元素或对象「建议收藏」做业务需求时遇到一个功能模块需要动态增删数组对象,需求本身完成不难,但是写出来的代码我总感觉很冗余,于是我在网上找了很久,看有没有现成的轮子可以使用,最终找到了es6中的一个方法将其记录在此,方便以后自己翻阅查找对数组元素进行增删//e是你要判断是否在这个数组里的元素letarr=[‘1′,’2′,’3′,’4’]letarrIndex=arr.indexOf(e)i…

    2022年10月18日
    4
  • matlab做图像_matlab语言基础

    matlab做图像_matlab语言基础注:读取图像的路径自己设置。图像文件的查询%imfinfo()用于获取一张图片的具体信息info=imfinfo(‘E:\a_matlab_file\picture\longmao.jpg’);disp(info);图像的读取img_route=’E:\a_matlab_file\picture\***.jpg’;A=imread(img_route);set(0,’de…

    2026年4月14日
    11
  • Python第七章-面向对象高级

    Python第七章-面向对象高级面向对象高级一、特性特性是指的property.property这个词的翻译一直都有问题,很多人把它翻译为属性,其实是不恰当和不准确的.在这里翻译成特性是为了和属性区别开来.属性是指的

    2022年7月6日
    21

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号