1。上传文件
1 protected int doTask(BaseForm form) throws AppException, FatalException, NoExistsException, GreaterMaxException {
if(log.isDebugEnabled()) {
log.debug("entering doTask ...");
}
// UploadFormの取得
UploadForm uploadForm = (UploadForm)form;
FormFile uploadFile = uploadForm.getUploadFile();
//アップロードファイルのデータが0件の場合
if(uploadFile.getFileSize()==0){
return CommonConst.RES_OK;
}
InputStreamReader isr;
T101UpFileHis upFileHis = new T101UpFileHis();
try {
isr = new InputStreamReader(uploadFile.getInputStream());
BufferedReader br = new BufferedReader(isr);
String str = null;
String[] contextArray;
Set<String> set = new HashSet<String>();
//総件数
long allcount = 0;
StringBuffer errStr = new StringBuffer("");
while((str = br.readLine())!= null){
allcount++;
contextArray = str.split(",");
//データの項目数の判断
if(contextArray.length == 9 ){
//telNo
if(contextArray[0] != null && !"".equals(contextArray[0])){
set.add(contextArray[0]);
} else {
errStr.append("第"+allcount+"行目データは無効です。"+"\r\n");
}
}else{
errStr.append("第"+allcount+"行目データは無効です。"+"\r\n");
}
}
isr.close();
br.close(); ByteArrayInputStream errInputStream = null;
if(!"".equals(errStr.toString())){
errInputStream = new ByteArrayInputStream(errStr.toString().getBytes());
}
upFileHis = setT101FromUpload(uploadForm, uploadFile, set, allcount,errInputStream);
upFileHisDao.save(upFileHis);
} catch (Exception e) {
e.printStackTrace();
} if(log.isDebugEnabled()) {
log.debug("leaving doTask ...");
}
return CommonConst.RES_OK;
}

2。下载文件

 if(funcID.equals(LineConst.FUNC_DOWNLOAD)){
this.csvTplDownloadSrv.doService(baseForm);
CsvFileRegForm csvFileRegForm = (CsvFileRegForm)baseForm;
List<M302PrcTpl> prcTplList=csvFileRegForm.getM302PrcTplList();
String tplStr="";
for (int i = 0; i < prcTplList.size(); i++) {
M302PrcTpl m302PrcTpl=prcTplList.get(i);
tplStr+=m302PrcTpl.getItemNM();
if(i<prcTplList.size()-1){
tplStr+=",";
}
} String fileName=System.currentTimeMillis()+"_"+csvFileRegForm.getComProdId()+"_csvTPL.csv";
// エンコードの転換
fileName = URLEncoder.encode(fileName,LineConst.LIST_CREATE_DOWNLOAD_ENCODER);
OutputStream fos = response.getOutputStream();
BufferedOutputStream bos = new BufferedOutputStream(fos);
response.setContentType(CommonConst.CONST_RESPONSE_CONTENTTYPE);
response.setHeader(CommonConst.CONST_REQUEST_CONTENT_DISPOSITION, CommonConst.CONST_RESPONSE_ATTACHEMENT + fileName);
//bos.write(tplStr.getBytes());
bos.write(tplStr.getBytes(Charset.forName(LineConst.LIST_CREATE_DOWNLOAD_ENCODER))); bos.flush();
fos.close();
bos.close();
return null;
}

java上传文件,下载文件的更多相关文章

  1. ftp上传或下载文件工具类

    FtpTransferUtil.java工具类,向ftp上传或下载文件: package utils; import java.io.File; import java.io.FileOutputSt ...

  2. Spring Boot之 Controller 接收参数和返回数据总结(包括上传、下载文件)

            一.接收参数(postman发送) 1.form表单 @RequestParam("name") String name 会把传递过来的Form表单中的name对应 ...

  3. SecureCRT上传和下载文件

    SecureCRT上传和下载文件(下载默认目录) SecureCR 下的文件传输协议有ASCII .Xmodem .Ymodem .Zmodem ASCII:这是最快的传输协议,但只能传送文本文件. ...

  4. 11、只允许在主目录下上传和下载文件,不允许用putty登录

    创建用户xiao,   使其只允许在用户主目录 (/var/www/html)下上传和下载文件,不允许用putty登录 (为了安全起见,不给过多的权限) 1.创建xiao用户 [root@localh ...

  5. 每天一个linux命令(26):用SecureCRT来上传和下载文件

    用SSH管理linux服务器时经常需要远程与本地之间交互文件.而直接用SecureCRT自带的上传下载功能无疑是最方便的,SecureCRT下的文件传输协议有ASCII.Xmodem.Zmodem. ...

  6. 利用SecureCRT上传、下载文件(使用sz与rz命令),超实用!

    利用SecureCRT上传.下载文件(使用sz与rz命令),超实用! 文章来源:http://blog.csdn.net/dongqinliuzi/article/details/39623169 借 ...

  7. Linux--用SecureCRT来上传和下载文件

    SecureCRT下的文件传输协议有以下几种:ASCII.Xmodem.Ymodem.Zmodem ASCII:这是最快的传输协议,但只能传送文本文件. Xmodem:这种古老的传输协议速度较慢,但由 ...

  8. secureCRT简单上传、下载文件记录

    secureCRT简单上传.下载文件记录: 1)sz下载 -y 覆盖 2)rz上传 -y 覆盖 3)以上两个命令属于安装时包含在“Dial-up Networking Support"组中 ...

  9. 每天一个linux命令(26)--用SecureCRT来上传和下载文件

    用SSH管理Linux 服务器时经常需要远程与本地之间交互文件,而直接使用 SecureCRT 自带的上传下载功能无疑是最方便的,SecureCRT下的文件传输协议有ASCII.Xmodem.Zmod ...

  10. 每天一个linux命令(26):用SecureCRT来上传和下载文件(转载自竹子)

    用SSH管理linux服务器时经常需要远程与本地之间交互文件.而直接用SecureCRT自带的上传下载功能无疑是最方便的,SecureCRT下的文件传输协议有ASCII.Xmodem.Zmodem. ...

随机推荐

  1. RabbitMQ一

    RabbitMQ: 一.rabbitmq的系统架构: RabbitMQ Server:也叫broker server,它不是运送食物的卡车,而是一种传输服务.原话是RabbitMQisn’t a fo ...

  2. Oracle11g登陆sqlplus时一直提示密码错误

    我安装oracle的时候有自己设置帐号和密码,我也在服务里的oracleserver中查看了正在运行的用户名,是我注册时填的那个并已开启.但是为什么登陆Sqlplus老是说密码错误呢?我敢肯定密码没有 ...

  3. windows超过最大连接数解决命令

    query user /server:218.57.146.175 logoff  1 /server:218.57.146.175

  4. .aspx 页面引用命名空间

    一.单个页面引用: <%@ Import Namespace="" %> 二.所有页面引用,Web.config配置如下: <system.web> < ...

  5. Socket协议通讯

    Socket协议通讯   服务器端代码: using System; using System.Collections.Generic; using System.ComponentModel; us ...

  6. Eclipse配色利器

    1 http://eclipsecolorthemes.org/  这是官网 2 安装后,window-preferences-general-appearance-color theme 即可找到多 ...

  7. windows小游戏之扫雷技巧

    通过单击即可挖开方块.如果挖开的是地雷,则您输掉游戏. 如果方块上出现数字,则表示在其周围的八个方块中共有多少颗地雷.

  8. 转:使用rsync在linux(服务端)与windows(客户端)之间同步

    转自:http://blog.csdn.net/old_imp/article/details/8826396 一 在linux(我用的是centos系统)上安装rsync和xinetd前先查看lin ...

  9. Android 使用SwipeBackLayout实现滑动返回上一级页面——实战来袭

    我们知道.APP在设计上习惯性的把返回button放在屏幕的左上角,那么,在非常多时候(尤其是大屏幕手机),操作改返回button,就会有诸多不便了.为了更加方便实现"返回"功能. ...

  10. SpringBoot使用MyBatis报错:Error invoking SqlProvider method (tk.mybatis.mapper.provider.base.BaseInsertProvider.dynamicSQL)

    © 版权声明:本文为博主原创文章,转载请注明出处  1. 错误描述 使用SpringBoot集成MyBatis框架,并且使用 mapper-spring-boot-starter 自动生成MyBati ...