当前位置:编程学习 > JAVA >>

文件上传运行环境问题

我写的一个方法,将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 开发
CopyRight © 2012 站长网 编程知识问答 www.zzzyk.com All Rights Reserved
部份技术文章来自网络,