uview3.0前端框架图片组件上传到VFP后端接收

b3065d2d0118ff0341de253c381e5046.gif

最近猫猫用的uview3.0框架,基于Uni-app平台的,虽然叫3.0却是基于uview1.8.3开发的。

vk-uview-ui 是 VK 基于 uview-ui 1.8.3 版本改造而来,其本质依然还是 uview-ui,是 VK 的珍藏版,由 VK 维护。

uview-ui 是 vk-unicloud 快速开发框架 之 client端框架 中推荐的UI,很多 VK框架 用户都在用 uview-ui

由于 uview-ui 作者目前重心全在 uView 2.0 的 nvue 版本上,故没有精力维护 uView 1.0,因此作者贡献出了自己珍藏的 vk-uview-ui 版本。

在这里,也感谢 uview-ui 作者的开源奉献,再次为开源点赞。 同时 vk-uview-ui 也是无条件开源。

组件使用很简单,j最简代码如下:

<u-upload   ref="uUpload1"  :action="action" ></u-upload>

action变量的值等于ctl_file.fsp?proc=upfile

VFP后端接收

Define Class ctl_file As session
   
   PROCEDURE upfile    
    Local oResult
    Private nspuId


    oResult=GetUpFile()     &&返回为集合对象
    cFilename=oResult.ofieldcoll.Item("file").filename  &&文件名 跟上传name(微信)对应 key (mui) 对应
    cExtName=Justext(cFilename)
    cFilename=Ttoc(Datetime(),1)+Right(Transform(Second()*1000),6)+"."+cExtname  &&生成文件名
    cMydata=oResult.ofieldcoll.Item("file").fielddata &&文件内容


    cFilePath=getwwwrootpath("images\order")
    If !Directory(cFilePath)
      Md &cFilePath
    Endif


    If Strtofile(cMydata,cFilePath+cFilename)<=0
      Error "写入文件失败,目录是否存在且可读写"
    Endif
        RETURN TEXTMERGE('{"name":"test","url":"images/order/<<cFilename>>"}')
   ENDPROC 
ENDDEFINE

这里有两个关键点

  1. 文件的key叫啥,这是默认叫file,实际也可以变更的。

  2. 接收的URL返回远程文件名 "url":"images/order/<<cFilename>>"

如果这里有存在一个问题,就是上传不成功,比如框架ERROR打断执行,返回{"errno":1089,"errmsg":"NO OK"}

但是还是预览图显示出来,我们的目的是不显示预览图,或者显示一个错误。

ac7e1c3e08d2f193b94cc7b40ba7ab68.png

那么我在上传成功的时候,触发一个方法,来删除这个预览图,或者设为上传失败。

<u-upload  ref="uUpload1"  :action="action"  @on-success="upsuccess"></u-upload>

upsuccess方法

upsuccess:function(data, index, lists, name){
        console.log(this.$refs.uUpload1.lists);
        //console.log(index,name);
        if(data.errno && data.errno!=0){
          this.$msg(data.errmsg);
          var item=this.$refs.uUpload1.lists[index];
          item.error=true;
          this.$refs.uUpload1.lists.splice(index,1,item); //上传失败设为失败          
          return;
        }
        this.form.files.push(data.url);
         
      },

这里就会显示上传失败,然后你点击预览图就会显示重新上传。

也可以设为删除。

this.$refs.uUpload1.lists.splice(index,1); //上传失败删除  

猫猫的心里话

加菲猫的VFP|狐友会社群接收投稿啦

加菲猫的VFP,用VFP不局限VFP,用VFP混合一切。无论是VFP,还是JS,还是C,只要能混合起来,都可以发表。

商业模式,销售技巧、需求规划、产品设计的知识通通可以发表。

暂定千字50元红包,,优秀的文章红包更大,一经发表,红包到手。

如何帮助使用VFP的人?

用VFP的人,有专业的,有非专业了,很多人其实是小白,问出的问题是小白,如果问题不对,我们引导他们问正确的问题。无论如何请不要嘲笑他们说帮助都不看,这么简单的问题都不会,嘲笑别人不行,而无法提出建设性答案,是很low的。

我们无论工作需要,还是有自己的软件,都是是需要真正的知识,如何让更多人学习真正的VFP知识呢,只需要点赞,在看,能转发朋友圈就更好了。

加菲猫的vfp倡导用"VFP极简混合开发,少写代码、快速出活,用VFP,但不局限于VFP,各种语言混合开发"

我已经带领一百多名会员成功掌到VFP的黑科技,进入了移动互联网时代,接下来我们要进入物联网领域。

2023年狐友会社群会员继续招募中

社群会员获取的权益有:

祺佑三层开发框架商业版(猫框),终身免费升级,终身技术支持。

开放的录播课程有:

微信小程序,微信公众号开发,H5 APP开发,Extjs BS开发,VFP面向对象进阶,VFP中间层开发。

源码类资源有:

支付组件源码,短信源码,权限组件源码,一些完整系统的源码。这个可以单独出售的,需要的可以联系我。

会员也可以实现群内资源对接,可以接分包,合作等各项商业或技术业务

9e7bd0a72398198ebc6a4c318113dabc.gif

8f37b18157215f5510a0e741a1219d75.jpeg

bea6e0737e92f5d0b30945f6baaec5c0.gif

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

加菲猫的VFP

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值