用agular2做文件上传功能杂记-遁地龙卷风
(-1)功能描述
写一个功能,前台发起执行请求,后台执行任务,前台可以获取执行的进度,并取得最后的执行状态。
(0)angular2 $http文件上传
这里之所以不用angular-file-upload是为了共用代码。
var time = new Date().getTime();
var obj = {
method:"POST",
url:"csvFile",
headers : { 'Content-Type':undefined},
transformRequest: function() {
var formData = new FormData();
formData.append('file', $('#uploadBtn')[0].files[0]);
formData.append('time',time);
return formData;
}
}
'Content-Type':undefined
transformRequest
关于这两个部分网上有一些说法,本人能力有限,只知道这么做能出效果,不知道他们说的对不对,还望高人指点
(1)如何处理多线程
因为要提供返回进度和最后状态的接口,所以后台用HashMap来存储信息,已前台传入的毫秒数做标记
取消了很多成员变量的使用,改为传参。
还用一点需要注意,因为前台发出执行请求,随后就会发出得到执行进度请求,而在返回进度方法中我写成了下面这个样子
这样写埋下了祸根,好心办了坏事,气人的是这种错误不会直观的显示出来。排查也费了好大劲。
Integer rate = rateMap.get(time) ;
if(rate !=null)
{
if(rate == 100)
{
rateMap.remove(time);
return 100;
}
else
{
return rate;
} }
else
{
return 100;
}
最后改成当为null时返回0
(2)如何导出maven项目群、多模块项目、多个maven项目
其实只要按正常操作导出主项目(单个项目)就可以了。我百度....
(3)插入数据
这里又犯了一个错误,因为会有许多为null的数据,之前的写法是当某一个字段为null,就不会执行dao层代码
其实这里只要id不为null就好,于是更改了代码,非主要数据为null程序仍可以执行dao层代码。
用agular2做文件上传功能杂记-遁地龙卷风的更多相关文章
- 达到HTTP合约Get、Post和文件上传功能——采用WinHttp介面
于<采用WinHttp实现HTTP协议Get.Post和文件上传功能>一文中,我已经比較具体地解说了怎样使用WinHttp接口实现各种协议. 在近期的代码梳理中,我认为Post和文件上传模 ...
- 文件/大文件上传功能实现(JS+PHP)全过程
文件/大文件上传功能实现(JS+PHP) 参考博文:掘金-橙红年代 前端大文件上传 路漫漫 其修远 PHP + JS 实现大文件分割上传 本文是学习文件上传后的学习总结文章,从无到有实现文件上传功能, ...
- 使用element的upload组件实现一个完整的文件上传功能(上)
说到标题就有点心塞了,前段时间项目上需要实现一个文件上传的功能,然后就咔咔的去用了element的upload组件,不用不知道一用吓一跳哇. 在使用的过程中遇到了很多让意想不到的问题,后来也因为时间问 ...
- 使用element的upload组件实现一个完整的文件上传功能(下)
本篇文章是<使用element的upload组件实现一个完整的文件上传功能(上)>的续篇. 话不多说,接着上一篇直接开始 一.功能完善—保存表格中每一列的文件列表状态 1.思路 保存表格中 ...
- Vue实现多文件上传功能(前端 + 后端代码)
本人业余前端开发,因为公司(很坑)觉得我很牛逼,所以让我前后端一起玩,无奈的我只能磕磕碰碰的研究起了vue. 开发项目的时候,用到文件上传的功能很常见,包括单文件上传和多文件上传,上传各种类型的文件. ...
- iOS 的 Safari 文件上传功能详解
iOS 6 给 Safari 浏览器带来的另外一个功能是文件上传,终于 Safari 终于支持 input 输入框的文件类型了,并且还支持 HTML媒体捕获(HTML Media Capture). ...
- [php基础]PHP.INI配置:文件上传功能配置教程
昨天分享了在PHP网站开发中如何在php.ini中配置实现session功能的PHP教程,今天继续分享在利用PHP实现文件上传功能时几点关键php.ini的配置. 说到在php.ini中的文件上传的配 ...
- 学习ASP.NET Core Razor 编程系列十五——文件上传功能(三)
学习ASP.NET Core Razor 编程系列目录 学习ASP.NET Core Razor 编程系列一 学习ASP.NET Core Razor 编程系列二——添加一个实体 学习ASP.NET ...
- 学习ASP.NET Core Razor 编程系列十四——文件上传功能(二)
学习ASP.NET Core Razor 编程系列目录 学习ASP.NET Core Razor 编程系列一 学习ASP.NET Core Razor 编程系列二——添加一个实体 学习ASP.NET ...
随机推荐
- Java 8 新特性:6-Optional类
(原) 先看看上面的说明: /** * A container object which may or may not contain a non-null value. * If a value i ...
- STM32 FSMC使用笔记
最近在使用STM32的FSMC与FPGA做并行通信总线控制,做一下总结 1,利用FSMC读取写入16位数据时的封装函数如下,不这样使用的话在与FPGA进行通信的过程中可能会出现不可预知的错误. #de ...
- mac 利用svn下载远程代码出现Agreeing to the Xcode/iOS license requires admin privileges, please re-run as root via sudo.
终端输出的信息:Agreeing to the Xcode/iOS license requires admin privileges, please re-run as root via sudo. ...
- PHP中生成UUID
一.什么是UUID 简单的说UUID就是一串全球唯一的(16进制)数字串. UUID的全拼为“Universally Unique Identifier”,可以译为“通用唯一识别码”.UUID由开源软 ...
- centos7内网源站建设
centos7内网源站建设 1.部署环境: 系统:Centos7 x86_64 应用服务:nginx.createrepo.reposync 镜像源:https://mirrors.aliyun.co ...
- Entity Framework Core系列之DbContext(添加)
上一篇我们介绍了Entity Framework Core系列之DbContext,对DbContext有了概念上的了解,这篇将介绍DbContext添加数据 通过DbContext添加实体的主要方法 ...
- Kubernetes — 为什么我们需要Pod?
不过,我相信你在学习和使用 Kubernetes 项目的过程中,已经不止一次地想要问这样一个问题:为什么我们会需要 Pod? 是啊,我们在前面已经花了很多精力去解读 Linux 容器的原理.分析了 D ...
- 使用IDEA2017在Windows下编程并测试Hadoop2.7+Spark2.2+Azkaban
1. 下载好IDEA HADOOP SPARK 首先,配置IDEA, 在插件管理中使用IDEA在线库安装scala插件, 在在线库直接搜索即可; 其次,配置Maven选项, 将Maven添加到IDEA ...
- [洛谷P1357] 花园
题目类型:状压\(DP\) -> 矩阵乘法 绝妙然而思维难度极其大的一道好题! 传送门:>Here< 题意:有一个环形花圃,可以种两种花:0或1. 要求任意相邻的\(M\)个花中1的 ...
- consul如何限制注册的ip
假设当前服务器的ip是:192.168.56.130 允许 所有ip 注册 consul agent -server -ui -bootstrap-expect=1 -data-dir=/usr/lo ...