java怎么实现上传附件的功能
上传附件,实际上就是将文件存储到远程服务器,进行临时存储。举例:
**
* 上传文件
*
* @param fileName
* @param plainFilePath 文件路径路径
* @param filepath
* @return
* @throws Exception
*/
public static String fileUploadByFtp(String plainFilePath, String fileName, String filepath) throws Exception {
FileInputStream fis = null;
ByteArrayOutputStream bos = null;
FTPClient ftpClient = new FTPClient();
String bl = "false";
try {
fis = new FileInputStream(plainFilePath);
bos = new ByteArrayOutputStream(fis.available());
byte[] buffer = new byte[1024];
int count = 0;
while ((count = fis.read(buffer)) != -1) {
bos.write(buffer, 0, count);
}
bos.flush();
Log.info("加密上传文件开始");
Log.info("连接远程上传服务器"+CCFCCBUtil.CCFCCBHOSTNAME+":"+22);
ftpClient.connect(CCFCCBUtil.CCFCCBHOSTNAME, 22);
ftpClient.login(CCFCCBUtil.CCFCCBLOGINNAME, CCFCCBUtil.CCFCCBLOGINPASSWORD);
FTPFile[] fs;
fs = ftpClient.listFiles();
for (FTPFile ff : fs) {
if (ff.getName().equals(filepath)) {
bl="true";
ftpClient.changeWorkingDirectory("/"+filepath+"");
}
}
Log.info("检查文件路径是否存在:/"+filepath);
if("false".equals(bl)){
ViewUtil.dataSEErrorPerformedCommon( "查询文件路径不存在:"+"/"+filepath);
return bl;
}
ftpClient.setBufferSize(1024);
ftpClient.setControlEncoding("GBK");
// 设置文件类型(二进制)
ftpClient.setFileType(FTPClient.BINARY_FILE_TYPE);
ftpClient.storeFile(fileName, fis);
Log.info("上传文件成功:"+fileName+"。文件保存路径:"+"/"+filepath+"/");
return bl;
} catch (Exception e) {
throw e;
} finally {
if (fis != null) {
try {
fis.close();
} catch (Exception e) {
Log.info(e.getLocalizedMessage(), e);
}
}
if (bos != null) {
try {
bos.close();
} catch (Exception e) {
Log.info(e.getLocalizedMessage(), e);
}
}
}
}
备注:只需要修改上传的服务器地址、用户名、密码即可进行服务器访问上传。根据实际需要修改即可。
多重随机标签
淮南各区县人均gdp 大学生创业点子 乳山有什么受年轻人欢迎的酒吧推荐 体系认证咨询师工作内容 开发一个类似与滴滴的小程序需要办理什么证件 鹤岗市农村人居环境卫生管理条例 为什么进不了泉州市义务教育招生管理平台 怎样才能让展台搭建更完美 腾云山历史 电力局送电变电输电检修工运行工都是干什么的 电子商务好学吗 兰州金维电子科技有限公司怎么样 网页自动刷新监控工具网页自动刷新 华润招聘三本计算机学生吗 唐山和石家庄哪里好一些 第二个世界工厂是哪个国家 蓬溪厂房搬家怎么收费 微信小程序商城一年费用一般是多少 做电子元器件的销售有什么好的办法找客户 谁有制作单机小游戏的软件 有关于编程的专业去哪个大学好 兰州大公大厦5楼 学钢琴的 叫什么名字 是学习班吗 杭州有哪些企业 三门峡美食探寻美味之都的特色美食文化 武汉纳翼兴网络科技有限公司怎么样 电脑前端主要做什么 自己做一个手机app需要多少钱 万万没想到常用的动漫绘图软件竟然有这么多 长沙明天天气 netlogo 630 用户手册 4474 教程程序