发表于: 2019-11-01 15:47:32

1 1041


今天完成的事情:


angular图片上传


图片上传属于新增,所以需要创建一个新的项目,在主页面点击新增跳转到新的项目,在那里完成新增

在ui组件库,直接拿图片上传组件,复制HTML和TS相关代码过来

在UI组件库中的TS代码这个代码代表着双向绑定,预览你的图片,我们并不需要这个东西,可以直接清空掉

由于是上传 图片,所以图片的名称,类型,一些相关的东西就要进行数据绑定。

具体的字段在端口文件里面都有相关说明,把这些和HTML文件相关联。

在ts文件里定义omg,这这些数据都绑定在omg里面。

接下来我们需要定义这个回调函数(nzchange),当图片上传的时候就需要这个回调函数里面返回来的信息。

图片上传有三个阶段(start)(progress)(suces),只有第三阶段出来后,才代表图片上传成功了、

使用if判断语句,如果e里面的type等于success说明图片上传成功,在这里打印这个e,可以清楚的看到他具体的信息。

当图片上传成功以后,图片会进入到一个云储存的地方,相当于是一个网上中转站,我们需要他的具体地址,方便到时候把他提取出来。

这个url就是他在云储存里面的具体地址。我们把这个地址赋值给omg里面的img。img在借口文档里面定义的就是图片,

现在前期操作已经完成,接下来要定义上传的方法。

由于omg是个对象

一个对象若只被弱引用所引用,则被认为是不可访问(或弱可访问)的,并因此可能在任何时刻被回收。

所以在定义方法的时候,需要把omg进行深拷贝

首推的方法简单有效,JSON.stringfy()和JSON.parse()即可搞定。但是这种简单粗暴的方法有其局限性。当值为undefinedfunctionsymbol 会在转换过程中被忽略。。。所以,对象值有这三种的话用这种方法会导致属性丢失。

定义上传方法,通过深拷贝,如果status值是为1,那就是上传,这个在接口文档里面是有定义的。


在服务里面定义发送请求的方法,

第一条是固定写法,后面的是序列化方法,

由于这一条被我提取出去了,所以下面的请求地址那里要加上this来找到这个东西

发送请求后,接收数据

如果数据通信正常就通过router渲染页面。这样上传就成功了

还有一个是存为草稿,这个只要把借口文档里面定义的startus改了1就可以了。




返回列表 返回列表
评论

    分享到