最近接手了一个比较老的项目,整理一下我接手之后操作流程
1 阅读项目代码
1.1 配置代码
1.1.1 参数配置代码
<serverInfor></serverInfor>
,<map></map>
1.1.1 组件配置代码
<formInfo></formInfo>
,<business></business>
1.1.1 路由配置代码
<widgetcontainer></widgetcontainer>
1.2 使用到的前端库
1.2.1 样式库
esri.dijit
,esri.symbol
,ligerUI
1.2.2 控制库
dojo
,esri.map
,esri.geometry
2 分析新增功能需求
2.1 添加对应功能按钮到主页面
2.2 绑定功能对应的面板功能
2.3 面板能够选择本地文件夹
2.4 上传文件到后台
2.5 后台分析文件内容
2.6 后台返回对应规范的结果集
2.7 前台获取到数据
2.8 对于获取到的数据信息进行分析
2.9 获取需要的参数
2.10 通过获取的参数,调用相关方法进行页面展示
3 确认技术实现逻辑
3.1
在<widgetcontainer>
中添加一个新的widget
,并寻找合适的功能按钮图片。
3.2
在项目/javascript/Widget
文件路径中,参考其他组件js模版,新建OverlayfileMsg.js
。
3.3
在页面拼接Template中添加input[type=file]
的组件,并添加相关样式,优化显示效果。为了更好的提示效果,绑定一个span
标签实时进行显示上传文件路径。
3.4
先将上传文件的类型进行判断,是否为空和或者用户选择的上传类型是否匹配。
3.5
将通过判断的数据,读取相关配置,通过dojo.io.iframe.send()
方法传到对应的c#
后台,后台通过HttpFileCollection files = context.Request.Files;HttpPostedFile fileObj = files[i];
进行获取,先判断文件上传格式是否正确,如果都正确,则进行文件保存到服务器指定路径处理,并返回处理结果。
3.6
后台返回对应规范的结果集
- 文件上传失败!(初始值)
- 请选择文件。
- 目录名不正确。
- 上传文件大小超过限制。
- 上传文件扩展名是不允许的扩展名。
- 上传成功
3.7
前台获取到数据,获取后台实际返回值,判断后台处理状态,根据不同状态做对应处理。
3.7.1 上传成功
获取需要的参数,调用相关方法进行页面展示
3.7.2 上传失败
对于请求后台失败的情况下进行直接弹窗报错
4 开始写代码
通过对应代码编辑器,编写代码,如果遇见错误,通过相关开源社区,搜索相关案例,了解dojo实现机制,了解esri实现机制。
4.1
1 | <widget label ="叠加" visible="true" index="8" config="Widget.OverlayfileMsg" icon="images/img/sharp.png"/> |
4.2
1 | dojo.declare("Widget.OverlayfileMsg", null, { |
4.3
1 | <a class="l-button" id="addfile" style="position: relative;display:inline-block;margin:0 auto;line-height: 24px;text-align: center;"><span>选择文件</span><input type="file" name="fileUp" id ="btnLoadFile" style="position: absolute;right: 0;top: 0;opacity: 0;width: 100%;cursor: pointer;text-indent: -2em;"/></a> |
1 | /*------------------------------OverlayfileMsg.js*/ |
4.4
1 | var _this = this; |
4.5
1 | /*------------------------------layoutOther.js*/ |
4.6
1 | private void showSuc(HttpContext context, string message) |
4.7
4.7.1 上传成功
1 | onSubmitted:function(response, ioArgs){ |
4.7.2 上传失败
1 | //提示错误原因 |
5 测试代码运行效果
在本地部署项目,利用后台断点和前台debugger进行相关排错。
6 保证代码持续运行
- 上传文件格式错误,进行合理报错
- 上传文件过多,进行合理报错
- 上传文件中包含正确的文件,但是也包含不正确的文件,进行合理报错
- 解析图形文件是否正确绘制在页面,进行合理报错
- 三种类型文件上传解析是否都正确,进行合理报错
- 后续需要处理大文件上传的文件,前后台是否存在异步,进行合理报错
- 后续补充