ng-file-upload文件上传_JAVA_编程开发_程序员俱乐部

中国优秀的程序员网站程序员频道CXYCLUB技术地图
热搜:
更多>>
 
您所在的位置: 程序员俱乐部 > 编程开发 > JAVA > ng-file-upload文件上传

ng-file-upload文件上传

 2018/7/18 12:20:35  xafc2370  程序员俱乐部  我要评论(0)
  • 摘要:前端<!DOCTYPEhtml><htmlng-app="app"><head><metahttp-equiv="Content-Type"content="text/html;charset=utf-8"/><title>文件上传</title><metacharset="utf-8"/><scriptsrc="JS/angular.min.js"></script><
  • 标签:file 上传 文件
前端
class="html"><!DOCTYPE html>
<html ng-app="app">
<head>
    <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
    <title>文件上传</title>
    <meta charset="utf-8" />
    <script src="JS/angular.min.js"></script>
    <script src="JS/ng-file-upload.min.js"></script>
    <script src="JS/ng-file-upload-shim.min.js"></script>
    <script>
        var app = angular.module('app', ['ngFileUpload']);
        app.controller('bmcuCtrl',
		[ '$scope', 'Upload', function($scope, Upload) {
			$scope.uploadFile = function() {
				  Upload.upload({
	                    //服务端接收
	                    url: 'api/customer/uploadBatchFile',
	                    //上传的同时带的参数
	                    data: {},
	                    file: $scope.file
	                }).progress(function (evt) {
	                    //进度条
	                    var progressPercentage = parseInt(100.0 *
                          evt.loaded / evt.total);          
                          console.log('progess:'+progressPercentage+ 
                          '%' + evt.config.file.name);
	                }).success(function (data, status, headers, config) {
	                    //上传成功
	                    console.log('file ' + config.file.name 
                           + 'uploaded. Response: ' + data);
	                }).error(function (data, status, headers, config) {
	                    //上传失败
	                    console.log('error status: ' + status);
	                });
			}
	} ]);
    </script>
</head>
<body ng-controller="'bmcuCtrl'">
	<div>
		<a href="/app/public/common/batch-mode-cust-unit/batch_change.xls" style="color: red;"
			target="_blank"> 模板下载 </a>
		<input type="file" name="file" ngf-select ng-model="file" accept="application/msexcel" >
	    <button class="btn btn-primary" ng-click="uploadFile()">导入</button>
	</div>
</body>
</html>


后端:
@Controller
@RequestMapping("/api/customer")
@ResponseBody
public class TestNgUpload{

@RequestMapping("/uploadBatchFile'")
    public void uploadBatchFile'(HttpServletRequest request) throws Exception {
        CommonsMultipartResolver multipartResolver =
            new CommonsMultipartResolver(request.getSession().getServletContext());
        if(multipartResolver.isMultipart(request)){
            //再将request中的数据转化成multipart类型的数据
            MultipartHttpServletRequest multiRequest = (MultipartHttpServletRequest) request;
            Iterator iter = multiRequest.getFileNames();
            while (iter.hasNext()) {
                String name = (String) iter.next();
                MultipartFile file = multiRequest.getFile(name);
                String fileName = file.getOriginalFilename();
                String format = fileName.substring(fileName.indexOf(".")+1);
                InputStream inputStream = file.getInputStream();
                Workbook wb = null;
                if (format.equals("xls") || format.equals("msexcel")) {
                    wb = new HSSFWorkbook(inputStream);
                }
                if (format.equals("xlsx")) {
                    wb = new XSSFWorkbook(inputStream);
                }
                String[][] objArray = ExcelUtil.readExcel(wb, 1);
                if(objArray.length>0){
                   BatchCustUnitVo batchCustUnitVo = new BatchCustUnitVo();
                   List<String> accNbrList = new ArrayList<String>();
                   List<String> dataColList = new ArrayList<String>();
                   for(int i=0;i<objArray.length;i++){            
                       accNbrList.add(objArray[i][0].trim());
                       dataColList.add(objArray[i][1].trim());
                   }
                   batchCustUnitVo.setAccNbrList(accNbrList);
                   batchCustUnitVo.setDataColList(dataColList);
                   customerService.uploadBatchCustUnit(batchCustUnitVo);
                }
            }
        }
     }
}
  • ExcelUtil.rar (1.7 KB)
  • 下载次数: 0
上一篇: java 使用itext分割pdf 下一篇: 没有下一篇了!
发表评论
用户名: 匿名