服务器TOMCAT,用SmartUpload组件实现上传。在本机上可以实现上传(程序已经成功实现),现在有个专门的文件服务器,要在本机上传到文件服务器上。在程序中该怎么写呢?如果页面访问文件服务器时页面链接的IP地址有什么条件?请高手帮忙看看啊!!!!!!!!!!!!!!!!!!!!
int count = mySmartUpload.save("e:/upload");  这个是本机的保存路径。。保存服务器的路径捏?

解决方案 »

  1.   

    说白了,你就是不知道怎么取得服务器上的的路径!没错吧?
    试试这个方法:request.getRealPath()!输出出来看看你就知道它能得到什么了!
      

  2.   

    int count = mySmartUpload.save("e:/upload");  这个是本机的保存路径。。
    我的意思是:假如服务器的IP是192.168.1.25的话是否这样int count = mySmartUpload.save("192.168.1.25/e:/upload"); 。这样就把文件上传到了文件服务器上去了。然后我在页面如果想访问该服务器的一个图片(假如为a.gif),那么我在JSP页面链接地址是否也是192.168.1.25/e:/upload/a.gif显示在网页中?
      

  3.   

    以下为上传文件的代码:
    <%@ page contentType="text/html;charset=GB2312"%>
    <%@ page import="com.jspsmart.upload.*" %>
    <%@ page import="java.lang.*" %>
    <html>
        <head>
        <title>执行上传操作</title>
      </head>
    <body>
    <%
       //实例化上载bean
        com.jspsmart.upload.SmartUpload mySmartUpload=new com.jspsmart.upload.SmartUpload();
        //初始化
        mySmartUpload.initialize(pageContext); 
        //设置上载的最大值
        mySmartUpload.setMaxFileSize(10 * 1024*1024);
        //上载文件
        try
        {
            mySmartUpload.upload();
        }
        catch(Exception e)
        {
         out.print("上传文件太大");
        }
       //循环取得所有上载的文件
       try
       {
         for (int i=0;i<mySmartUpload.getFiles().getCount();i++)
        {
        //取得上载的文件
       com.jspsmart.upload.File myFile = mySmartUpload.getFiles().getFile(i);
        if (!myFile.isMissing())
         {
        //取得上载的文件的文件名
         String myFileName=myFile.getFileName();
         //取得不带后缀的文件名
         String  suffix=myFileName.substring(0,myFileName.lastIndexOf('.'));
         //取得后缀名
         String  ext= mySmartUpload.getFiles().getFile(0).getFileExt();  
         //取得文件的大小  
         int fileSize=myFile.getSize();
         //保存路径
         String aa=getServletContext().getRealPath("/")+"jsp\\";     String trace=aa+myFileName;
         //取得别的参数
         //String explain=(String)mySmartUpload.getRequest().getParameter("text");
        //String send=(String)mySmartUpload.getRequest().getParameter("send");
         //将文件保存在服务器端 
         out.print(trace+"\n");
         myFile.saveAs(trace,mySmartUpload.SAVE_PHYSICAL);
         //int count = mySmartUpload.save("e:/upload");  
         //out.print(count+"\n"); 
          }
        }
        out.print("文件上传成功");
       }
       catch(Exception e)
       {
        out.print("上传文件失败");
       }
     %>
    </body>
    </html>目前情况是这样的:有11台服务器必须共享一个文件服务器的文件,而我必须在前台页面上传文件到文件服务器上。以上程序在本机上是可以实现。现在的问题是目前这个文件服务器有什么条件才能共享这些文件呢?程序里改动路径的话要怎么改?在页面上如何加这些链接才能用公网访问这些文件?(上传的文件主要是图片,FLASH,以及一些JSP文件)
      

  4.   

    首先先用你的程序把文件上传到服务器,然后用java的ftp包上传到文件服务器上(文件服务器应该开FTP服务)
    然后客户端要下载这个文件的时候,可以直接从web服务器上取到文件服务器上的文件流,直接返回给客户端,不用提供文件的真实路径下载吧?
      

  5.   

    首先先用你的程序把文件上传到服务器,然后用java的ftp包上传到文件服务器上(文件服务器应该开FTP服务)
    这句话前半部分不是已经上传到文件服务器了吗?还有然后?我的意思是说上传到文件服务器的话对该文件服务器有什么要求?然后程序里面写程序的话地址该怎么写。。
    至于页面访问上传文件的话,我直接只加链接,可以直接访问吗?我的意思是这个链接地址该如何弄。。谢谢!
      

  6.   

    去下面地址下载 SmartUpload 上传组件(中文终极解决版)
    http://download.csdn.net/source/608182