文件上传运行环境问题
我写的一个方法,将pdf文件经过处理上传到ftp服务器上。在windows测试环境下运行没有问题,成功的将文件传到了ftp服务器上,但是将代码部署到linux服务器上运行没有报错,显示上传成功,但是ftp服务器上没有看到上传的文件,也就是上传不成功!代码如下请各位大神帮我解决问题:public void extsave() throws IOException{
String rybh = getRequest().getParameter("rybh");
Users users = (Users)getRequest().getSession().getAttribute("currentUser");
Map<String, Object> result = new HashMap<String, Object>();
String srcExcelFileName="";
try{
getResponse().setContentType("text/html;charset=utf-8");
MultiPartRequestWrapper multipartRequest = (MultiPartRequestWrapper)getRequest();
//获取所有上传的文件
File[] file = multipartRequest.getFiles("wslj");// 获得文件
//获取选择的报表
String []array=multipartRequest.getParameterValues("cb");
String arr="";
if(array.length>0){
for(int i=0;i<array.length;i++){
arr +=array[i]+","; //获得选择的页数
}
}
//获取当前系统路径
String realpath = getServletContext().getRealPath("/");
String[] filenames = multipartRequest.getFileNames("wslj");
File f1 =null;
if(filenames.length>0)f1=file[0];
String fullName = users.getJsbh()+filenames[0];
String newName = rybh + ".pdf";
String newFileName ="";
// String bh = new SimpleDateFormat("yyyyMMdd").format(new Date().getTime());
try {
String fileDir = realpath + "\\rydafiles\\";
File fdir = new File(fileDir);
if (!fdir.exists()) {
fdir.mkdirs();
}
//源Excel文件路径
srcExcelFileName = realpath + "\\pages_kss\\rydafiles\\" + fullName ;
//新文件路径
newFileName = realpath + "\\pages_kss\\rydafiles\\realfiles\\" + newName ;
File f2 = new File(srcExcelFileName);
//生成上传的文件
InputStream in = null ;
OutputStream out = null ;
try {
in = new BufferedInputStream( new FileInputStream(f1), BUFFER_SIZE);
out = new BufferedOutputStream( new FileOutputStream(f2), BUFFER_SIZE);
byte [] buffer = new byte [BUFFER_SIZE];
while (in.read(buffer) > 0 ) {
out.write(buffer);
}
} finally {
if ( null != in) {
in.close();
}
if ( null != out) {
out.close();
}
}
} catch (Exception e) {
}
//创建一个指定页数的PDF
CreatePdf.deleteOnePage(arr, srcExcelFileName, newFileName);
wsxx.setOperator(users.getLoginname());
wsxx.setCreatetime(Calendar.getInstance().getTime());
wsxx.setWsmc(filenames[0]);
wsxx.setWslj(srcExcelFileName);
wsxx.setScbz("0");
wsxx.setState("R2");
wsxx.setJsbh(users.getJsbh());
if(wsxx.getPastable()==null)
wsxx.setPastable("0");
else
wsxx.setPastable("1");
wsxxManager.save(wsxx);
if(wsxx.getPastable().equals("1"))
wsxxManager.updateJBXX(wsxx.getRybh());
// 获取文件路径上传至FTP
File filel = new File(newFileName);
// System.out.println(file.getPath());
FileInputStream in = null;
try {
in = new FileInputStream(filel);
} catch (FileNotFoundException e) {
e.printStackTrace();
}
if(filel.getName() != null){
if(this.uploadFile("10.130.41.45", 21, "daxt", "daxt!@#$","jgc", filel.getName(), in)){
logManager.log(users.getJsbh(), users.getLoginname(),logManager.LOGTYPE_OPERATE_ADD, Wsxx.TABLE_ALIAS,users.getOperator(), "oldvalue", "newvalue",getRequest().getRemoteAddr());
result.put("success", true);
result.put("msg", "添 加 成 功!");
}
}else{
result.put("msg", "添 加 失败。");
getResponse().getWriter().print("{'failure':true,'msg':'" + result.get("msg") + "'}");// 跳转到上传成功提示页面
return;
}
}catch (Exception e){
result.put("msg", "添 加 失败。");
e.printStackTrace();
getResponse().getWriter().print("{'failure':true,'msg':'" + result.get("msg") + "'}");// 跳转到上传成功提示页面
return;
}
// outJson(result);
getResponse().getWriter().print("{'success':true,'msg':'" + result.get("msg") + "'}");// 跳转到上传成功提示页面
}
/**
* Description: 向FTP服务器上传文件
* @Version1.0 Jul 27, 2008 4:31:09 PM by 崔红保(cuihongbao@d-heaven.com)创建
* @param url FTP服务器hostname
* @param port FTP服务器端口
* @param username FTP登录账号
* @param password FTP登录密码
* @param path FTP服务器保存目录
* @param filename 上传到FTP服务器上的文件名
* @param input 输入流
* @return 成功返回true,否则返回false
*/
public static boolean uploadFile(String url, int port, String username,
String password, String path, String filename, InputStream input) {
boolean success = false;
FTPClient ftp = new FTPClient();
try {
int reply;
ftp.connect(url, port);// 连接FTP服务器
// 如果采用默认端口,可以使用ftp.connect(url)的方式直接连接FTP服务器
ftp.login(username, password);// 登录
ftp.setFileType(FTPClient.BINARY_FILE_TYPE);
reply = ftp.getReplyCode();
if (!FTPReply.isPositiveCompletion(reply)) {
ftp.disconnect();
return success;
}
ftp.enterLocalPassiveMode();
ftp.changeWorkingDirectory(path);
ftp.storeFile(filename, input);
input.close();
ftp.logout();
success = true;
} catch (IOException e) {
e.printStackTrace();
}
// finally {
// if (ftp.isConnected()) {
// try {
// ftp.disconnect();
// } catch (IOException ioe) {
// }
// }
// }
return success;
}
文件上传 linux服务器 运行环境 ftp服务器 --------------------编程问答-------------------- 快来人啊,急,在线等
补充:Java , Web 开发