java文件下载后台代码(只支持单文件上传)

@Override

public String uploadFile(MultipartHttpServletRequest mRequest,String standardId,

String standardCode,String standardName,String message,String flag,String data,String RecordCategory) {

// 获得文件:

MultipartFile contactFile = mRequest.getFile("standardfile");

if (null != contactFile && !contactFile.isEmpty()) {

InputStream is = null;

OutputStream os = null;

BufferedInputStream bfi = null;

BufferedOutputStream bfo = null;

try {

//获取文件名称

String fileName = contactFile.getOriginalFilename();

//拼接一个新的文件名称

String name = standardId +"_"+ standardCode +"_"+ standardName +"_"+ fileName;

//获取文件上传根路径

String basePath = PlatformConfigUtil.getString("MX_UPLOAD_FILEPATH")+File.separator;

//查询数据库树的路径

List listName = new ArrayList();

List> list = selectRecordCategory(RecordCategory);

for(int i=0;i

Map map = (Map)list.get(i);

String n = String.valueOf(map.get("STANDARD_ID"));

listName.add(n);

}

Collections.reverse(listName);

//与根目录进行拼接

StringBuffer sbuff = new StringBuffer(basePath);

for(int i=0;i

sbuff.append(listName.get(i)+File.separator);

}

basePath = sbuff.toString();

String url = basePath +name;

//反正是单文件上传,所以一发生文件上传就删除目录下的文件

List> lib_name = selectFile(standardId);

for(int i=0;i

Map map = (Map)lib_name.get(i);

String n = String.valueOf(map.get("URL"));

File file = new File(n);

file.delete();

}

//创建文件上传路径

File file1 = new File(basePath);

if(!file1.exists()){

file1.mkdirs();

}

//保存文件路径和文件名称

updateFile(standardId,fileName,url);

//获取输入流

is = contactFile.getInputStream();

bfi = new BufferedInputStream(is);

//循环读取输入流文件内容,通过输出流将内容写入新文件

os = new FileOutputStream(url); 

bfo = new BufferedOutputStream(os);

        byte buffer[]=new byte[1024]; 

        int cnt=0;

        while((cnt=bfi.read(buffer))>0){ 

            bfo.write(buffer, 0, cnt); 

        }

        bfo.flush();

} catch (IOException e) {

e.printStackTrace();

System.out.println("采购标准管理附件导入失败!");

message = "导入失败";

    flag = "0";

data = "{flag:" + flag + ",message:\"" + message +"\"}";

return data;

}finally{

//关闭输入输出流

        try {

os.close();

is.close(); 

bfi.close();

bfo.close();

} catch (IOException e) {

e.printStackTrace();

System.out.println("流关闭失败");

message = "流关闭失败";

    flag = "0";

data = "{flag:" + flag + ",message:\"" + message +"\"}";

return data;

}


}

}

return data;

}

你可能感兴趣的:(java文件下载后台代码(只支持单文件上传))