项目中关于动做的说明须要相应的配图,这样能够更直观的说明动做要点。本篇主要为项目中动做的新增和编辑作准备,肯定适合场景的上传操做逻辑以及图片的存储和加载的方法。
html
一 上传方案服务器
a) 原本所用的模板中是有一款挺好的上传控件的,支持多选、拖拽、并行上传。ide
但探索了半天后才意识到这个并不适合当前的场景。无论是动做的新增仍是编辑,上传图片后最好能即时地看到所添加的图片。这个控件无疑带来了功能上的冗余。测试
b) 最后采用了基于html file类型的输入框作成的按钮。spa
查看代码,能够发现这种按钮是在label中包含了一个input,并且input属性为hide。htm
c) input放在表单中,通常须要点击提交按钮才能上传,但对项目来讲,这个提交按钮是多余的,改为选中图片后自动上传。须要注册图片选择按钮的change事件,并在事件中自动提交表单。对象
d) 上传表单提交到服务器后,读取文件并作后续的处理,可多选上传。SaveImgInCloud是与保存到第三方存储服务相关的方法。blog
二 云存储事件
a) 如今使用的云存储要先建立存储空间,并设置空间的访问权限,为了方便上传后的读取操做,设置为公开空间,后面再想别的办法增长访问保护。图片
而后,根据开发者文档操做,这个虽然以前已经用过了,但仍然遇到很多麻烦。
b) 密钥测试时临时保存在常量中。第一次试验时上传失败,是由于没有设置区域,最后设置为自动识别区域Config.AutoZone()。
c) 另外还有同名文件覆盖的问题,按照文档要设置putPolicy.Scope = bucket + ":" + saveKey,不然会保留第一次上传的。
d) 文档提供了简单上传、字节上传、流式上传几种方式,本次使用流式上传。将file.InputStream做为上传对象便可。