mui文件下载

mui app升级方法或者mui 文件下载downloader方法参考:

前端代码javascript如下:

var dtask=null;
function createDownloadTask(){
	if ( dtask ) {
		outLine( "下载任务已创建!" );
		return;
	}
    //var url = "http://snip.qq.com/resources/Snip_V2.0_5771.dmg";
    var url = apk文件地址url;
    var options = {method:"GET"};
	dtask = plus.downloader.createDownload( url, options );
    dtask.addEventListener( "statechanged", function(task,status){
    	if(!dtask){return;}
    	//dtask.start();
    	var path = task.filename;
    	console.log( status )
    	console.log(JSON.stringify(task))
    	switch(task.state) {
    		case 1: // 开始
    			outLine( "开始下载..." );
    		break;
    		case 2: // 已连接到服务器
    			outLine( "链接到服务器..." );
    		break;
    		case 3:	// 已接收到数据
    			outSet( "下载数据更新:" );
    			outLine( task.downloadedSize+"/"+task.totalSize );
    		break;
    		case 4:	// 下载完成
    			outSet( "下载完成!" );
    			outLine( task.totalSize );
    			plus.runtime.install(path);  // 安装下载的apk文件
    		break;
    	}
    } );
    outSet( "创建下载任务成功!" );
//	var url=url; // 下载文件地址
//	console.log( url )
//	dtask = plus.downloader.createDownload( url, {}, function ( d, status ) {
//		console.log( Jstatus )
//		console.log( JSON.stringify(d) )
//	    if ( status == 200 ) { // 下载成功
//	        var path = d.filename;
//	        console.log(d.filename);
//	    } else {//下载失败
//	        alert( "Download failed: " + status ); 
//	    }  
//	});
//	dtask.start(); 
}

提示:极力反对某度后直接CV,CV后没有一点动静都没有留下,哪怕一个赞也好,悄悄的你走了正如你悄悄的来。后端java代码如有需要请留言。

 

public BaseResponse enclosureDownload(@PathVariable("id") Long id, HttpServletRequest request, HttpServletResponse response) {
   AppVersionEntity version=new AppVersionEntity();
   version.setId(id);
   AppVersionEntity appVersionEntity= sysAppVersionService.queryObject(version);
   String filePath =appVersionEntity.getFilePath();
   //文件名称
   String fileName=appVersionEntity.getFileName();
   //得到该文件
   File file = new File(filePath);
   if(!file.exists()){
      return new BaseResponse("",300,"附件不存在");
   }

   FileInputStream fileInputStream = null;
   try {
      fileInputStream = new FileInputStream(file);
   } catch (FileNotFoundException e) {
      e.printStackTrace();
   }
   //设置Http响应头告诉浏览器下载这个附件
   OutputStream outputStream = null;
   try {
      fileName = new String(fileName .getBytes(), "ISO-8859-1");
      response.addHeader("Content-Disposition","inline;filename=" +fileName);  
      response.addHeader("Content-Length","" + file.length());  
      outputStream = response.getOutputStream();
   byte[] bytes = new byte[2048];
   int len = 0;
      while ((len = fileInputStream.read(bytes))>0){
               outputStream.write(bytes,0,len);
           }
      outputStream.flush();
      fileInputStream.close();
      outputStream.close();
   } catch (IOException e) {
      e.printStackTrace();
   }
   return new BaseResponse(200);
}

 

 

 

 

  • 4
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值