HTML5技术

用agular2做文件上传功能杂记-遁地龙卷风 - 遁地龙卷风

字号+ 作者:H5之家 来源:H5之家 2017-02-14 15:00 我要评论( )

(-1) 功能描述 写一个功能,前台发起执行请求,后台执行任务,前台可以获取执行的进度,并取得最后的执行状态。 (0)angular2 $http 文件上传 这里之所以不用 angular-file-upload 是为了共用代码。 var time = new Date().getTime();var obj = {method:"POST

(-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)

    

(3)插入数据

  这里又犯了一个错误,因为会有许多为null的数据,之前的写法是当某一个字段为null,就不会执行dao层代码

  其实这里只要id不为null就好,于是更改了代码,非主要数据为null程序仍可以执行dao层代码

 

 

1.本站遵循行业规范,任何转载的稿件都会明确标注作者和来源;2.本站的原创文章,请转载时务必注明文章作者和来源,不尊重原创的行为我们将追究责任;3.作者投稿可能会经我们编辑修改或补充。

相关文章
  • ASP.NET Core MVC压缩样式、脚本及总是复制文件到输出目录 - JeffckyWang

    ASP.NET Core MVC压缩样式、脚本及总是复制文件到输出目录 - Jeffcky

    2017-02-02 12:07

  • Dropzone.js实现文件拖拽上传 - 小熊吉米

    Dropzone.js实现文件拖拽上传 - 小熊吉米

    2017-01-05 09:00

  • 极富创意的3D文件夹切换效果 - h5street

    极富创意的3D文件夹切换效果 - h5street

    2016-12-20 10:01

  • 免费开源的.NET多类型文件解压缩组件SharpZipLib(.NET组件介绍之七) - 彭泽0902

    免费开源的.NET多类型文件解压缩组件SharpZipLib(.NET组件介绍之七

    2016-12-14 12:00

网友点评
&