=========================================================================
ABP框架是基于最新.net core 的技术方向,应用非常广泛的一个技术框架系列,它整合了很多.net core 领域相关开发技术,后端主要是发布Web API方式实现数据和前端的交互的,因此前端可以基于Web API基础上实现多种平台的对接,可以是常规的BS框架,如Vue+Element 前端路线,也可以是Winform/WPF的前端框架接入等。
ABP+Swagger UI 负责API接口的开发和公布,如下是附件上传模块的API接口的管理界面。
ABP框架后端接口的常规处理,如增删改查等接口命名都一致,参数方面也比较一致,而我们附件上传,则可以自定义一个自己喜欢名称的一个API接口名称,如这里定义一个PostUpload的方法,除了文件信息外,还包括一些参数来说明附件信息的。上传成功后,返回对应的路径集合。
ABP后端定义的接口实现,我们为了获得上下文对象的文件对象信息,我们在构造函数注入一个IHttpContextAccessor 对象。
///
/// 上传附件信息,应用层服务接口实现
///
[AbpAuthorize]
public class FileUploadAppService : MyAsyncServiceBase<FileUpload, FileUploadDto, string, FileUploadPagedDto, CreateFileUploadDto, FileUploadDto>, IFileUploadAppService
{
private AppConfig config = new AppConfig();
private readonly IRepository<FileUpload, string> _repository;//业务对象仓储对象
private readonly IRepository<User, long> _userRepository;//用户信息仓储对象
private IHttpContextAccessor _httpContext;//上下文对象
public FileUploadAppService(IRepository<FileUpload, string> repository, IRepository<User, long> userRepository, IHttpContextAccessor httpContext) : base(repository)
{
_repository = repository;
_userRepository = userRepository;
_httpContext = httpContext;
}
在附件上传处理的时候,我们就可以通过这样获得请求的文件对象了,如下代码所示。
在后端上传文件的时候,和我其他开发框架,如Winform框架、混合开发框架、BS等框架一样,我们后端为了方便,也可以使用FTP方式进行附件的上传(这里依旧是使用FluentFTP组件),如我们指定配置如下所示。
另外,在整合ABP后端接口的时候,我们为了方便,一般使用ES6的方式定义一个客户端的Api调用类,基础接口封装在BaseApi类里面,扩展自定义接口放在子类定义,如下所示。
另外,我们需要整合Api和界面部分实现完整的功能,那么需要提供两个部分:一个是Api类的继承子类,一个是视图界面的内容。如下所示包含Api封装类文件和Vue + Element界面视图。
=======================================================================
上传图片或者其他附件信息,我们可以用Element组件里面的el-Upload组件操作,这个控件基本上能够满足大多数的应用了,参考地址:https://element.eleme.cn/#/zh-CN/component/upload。
如下是其中的界面使用代码:
<el-upload
ref=“upload”
action=“/abp/services/app/FileUpload/PostUpload”
list-type=“picture-card”
:on-preview=“handlePictureCardPreview”
:on-remove=“handleRemove”
:on-success=“onSuccess”
:on-error=“onError”
accept=“image/jpeg,image/gif,image/png,image/bmp”
:headers=“myHeaders”
:file-list=“editForm.fileList”
只是我们一般为了简化处理,往往使用一些基于El-Upload组件之上封装好的组件,更显方便而已。
一般的图片和附件上传界面如下所示。
如我往往喜欢喜欢使用稍加封装,代码量更少的一些第三方组件,如:
dream2023/vue-ele-upload-image
dream2023/vue-ele-upload-file
等这位仁兄的二次封装的组件来做附件管理,可以更加简洁一些。如下是使用的代码。
<ele-upload-image
v-model=“editForm.picture”
:is-show-tip=“false”
:size=“100”
action=“/abp/services/app/FileUpload/PostUpload”
title=“封面图片”
:headers=“myHeaders”
:data=“{guid:editForm.id, folder:‘用户图片’}”
:crop=“true”
/>
<ele-upload-file
v-model=“editForm.attachGUID_files”
:response-fn=“handleAttachResponse”
自我介绍一下,小编13年上海交大毕业,曾经在小公司待过,也去过华为、OPPO等大厂,18年进入阿里一直到现在。
深知大多数前端工程师,想要提升技能,往往是自己摸索成长或者是报班学习,但对于培训机构动则几千的学费,着实压力不小。自己不成体系的自学效果低效又漫长,而且极易碰到天花板技术停滞不前!
因此收集整理了一份《2024年Web前端开发全套学习资料》,初衷也很简单,就是希望能够帮助到想自学提升又不知道该从何学起的朋友,同时减轻大家的负担。
既有适合小白学习的零基础资料,也有适合3年以上经验的小伙伴深入学习提升的进阶课程,基本涵盖了95%以上前端开发知识点,真正体系化!
由于文件比较大,这里只是将部分目录截图出来,每个节点里面都包含大厂面经、学习笔记、源码讲义、实战项目、讲解视频,并且会持续更新!
如果你觉得这些内容对你有帮助,可以扫码获取!!(备注:前端)
![](https://i-blog.csdnimg.cn/blog_migrate/a19d93b251760ecd0c77fe045e2372c9.jpeg)
结尾
正式学习前端大概 3 年多了,很早就想整理这个书单了,因为常常会有朋友问,前端该如何学习,学习前端该看哪些书,我就讲讲我学习的道路中看的一些书,虽然整理的书不多,但是每一本都是那种看一本就秒不绝口的感觉。
以下大部分是我看过的,或者说身边的人推荐的书籍,每一本我都有些相关的推荐语,如果你有看到更好的书欢迎推荐呀。
p.com/2024/03/13/H4lCoPEF.jpg" />
结尾
正式学习前端大概 3 年多了,很早就想整理这个书单了,因为常常会有朋友问,前端该如何学习,学习前端该看哪些书,我就讲讲我学习的道路中看的一些书,虽然整理的书不多,但是每一本都是那种看一本就秒不绝口的感觉。
以下大部分是我看过的,或者说身边的人推荐的书籍,每一本我都有些相关的推荐语,如果你有看到更好的书欢迎推荐呀。