业务需求:
- 文件上传在项目开发过程中是必不可少的一项功能。目前大多数文件上传都是采用文件流的形式进行上传。随着技术的进步,云服务技术的产生,现在上传文件相比原来更迅速、更方便,对上传文件的管理较之前来说方便了许多;
- 为兼顾原有的项目,上传文件没有采用现在使用比较多的阿里云oss文件直传,而是采用的后台辅助存储上传的形式来进行文件的存储。相对来说,文件上传比较慢,等待时间有点长。获取文件不像oss直传那样返回一个绝对的地址链接,而是返回的一个文件的key,通过指定的参数拼接来换取图片地址;
- 此次简称为‘文件流上传’,前期开发的时候出现了一些错误,现将原有的文件流上传文件的具体实现步骤做相应分析处理,以便日后开发过程中使用。
效果图:
![在这里插入图片描述](https://img-blog.csdnimg.cn/img_convert/40214dd948ba08abf5073a7c61edcf19.png#align=left&display=inline&height=149&margin=%5Bobject%20Object%5D&name=%E5%BE%AE%E4%BF%A1%E6%88%AA%E5%9B%BE_20201022133155.png&originHeight=149&originWidth=614&size=6918&status=done&style=stroke&width=614#pic_center)
- 注:图片上传成功后,会在右侧灰色图片区域内进行展示。
布局代码一:
![在这里插入图片描述](https://img-blog.csdnimg.cn/img_convert/6ec13951d050f687d5515193f5f56df2.png#align=left&display=inline&height=297&margin=%5Bobject%20Object%5D&name=%E5%BE%AE%E4%BF%A1%E6%88%AA%E5%9B%BE_20201022133836.png&originHeight=396&originWidth=1001&size=27079&status=done&style=stroke&width=751#pic_center)
- 基于【 Vue 】
- 采用elementUI的el-input标签与input文件上传标签相结合的方式;
- wtLoading为UI框架的el-button按钮loading加载状态。
样式代码:
// 上传按钮样式布局
.uploadBtn {
display: block;
height: 100%;
width: 100%;
position: relative;
overflow: hidden;
}