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. Android NDK生成共享库和静态库

    Date: 2014-03-14 Title: Compile Android Native Binary And Library Published: true Type: post Tags: A ...

  2. POJ 2029 Get Many Persimmon Trees (二维树状数组)

    Get Many Persimmon Trees Time Limit:1000MS    Memory Limit:30000KB    64bit IO Format:%I64d & %I ...

  3. react-native ListView 封装 实现 下拉刷新/上拉加载更多

    1.PageListView 组件封装 src/components/PageListView/index.js /** * 上拉刷新/下拉加载更多 组件 */ import React, { Com ...

  4. (CF#257)A. Jzzhu and Children

    There are n children in Jzzhu's school. Jzzhu is going to give some candies to them. Let's number al ...

  5. odoo12新特性: 会计改进

    改进分析会计 分析会计层级结构 分析分配 分析分录增加了表格视图     ============== SPECIFICATIONS ============== a. Hierarchy  - Cr ...

  6. Oracle 为表空间增加数据文件

    dba权限检查下 select tablespace_name, file_id, file_name, ),) total_space from dba_data_files order by ta ...

  7. 多trac的安装和配置

    其他相关网页: trac+svn: http://wenku.baidu.com/view/84389a81ec3a87c24028c43f.html apache(GCI):http://hi.ba ...

  8. CentOS7网络桥接模式下配置-经典完备

    原文地址:http://blog.csdn.net/youzhouliu/article/details/51175364 首先要将Vmware设置为桥接模式: 并选择宿主机连接的网路进行桥接: Ce ...

  9. MongoDB 常见的查询索引

    常见的查询索引 _id索引         _id 索引是绝大多数集合默认建立的索引.对于每一个插入的数据.MongoDB 会自己主动生成一条唯一的 _id 字段. 1 2 3 4 5 6 7 8 9 ...

  10. curl命令测试https

    curl -vosa --resolve pic.test.net::222.241.7.179 https://pic.test.net/UploadFiles/201312031744347965 ...