不是有一个现成的JSPSmartFile组件?

解决方案 »

  1.   

    文件上传,用JSPSmartFile组件如果局域网传输,用JAVA编程就可以了
      

  2.   

    用APACHE的common-file包,这个简单好用
      

  3.   

    自己看SMARTUPLOAD代码,其实是从REQUEST中截取文件字节,然后保存。没有什么希奇的东西,而且不用再费劲去写两遍了,除非你有更好的办法。下载SMARTUPLOAD
    http://www.softboss.com/Code.asp看完有什么心得可以在大佬多交流-------------------
     软件大佬是基于软件业的研发、学习、交易、管理的网络平台,是您事业开始的地方,请访问www.softboss.com!
      

  4.   

    内网可以用SOCKET,,WEB的可以用JSPSmartFile组件
      

  5.   

    j2ee实现这种东西不现实。
    可以通过jdk生成文件到服务器端,然后给对方服务器发一个JMS消息通知它通过FTP来取就行了。
      

  6.   

    文件上传,用JSPSmartFile组件如果局域网传输,用JAVA编程就可以了说的太对了。就按(小马)说的做吧。
      

  7.   

    如果采用socket,tcp,udp来实现,怎么个写法呢
    是不是先把文件载入到缓冲区中,再通过socket发送过去呢?
      

  8.   

    1、在MVC模型的servlet中上传文件,使用commons-fileupload.jar包,核心代码详细注释如下:
    import java.io.*;
    import java.util.*;
    import javax.servlet.*;
    import javax.servlet.http.*;import org.apache.commons.fileupload.*;
    /**
     * Created by IntelliJ IDEA.
     * User: lixin
     * Date: 2004-3-9
     * Time: 14:06:56
     * To change this template use Options | File Templates.
     */
    public class Upload extends HttpServlet {    private String uploadPath = "C:\\upload\\"; // 用于存放上传文件的目录
        private String tempPath = "C:\\upload\\temp\\"; // 用于存放临时文件的目录    public void doPost(HttpServletRequest request, HttpServletResponse response)
                throws IOException, ServletException {
            tempPath.length();
            try {
                request.setCharacterEncoding("GB2312");
            } catch (UnsupportedEncodingException e) {
                e.printStackTrace();
            }
            try {
                DiskFileUpload fu = new DiskFileUpload();
                // 设置最大文件尺寸,这里是40MB
                fu.setSizeMax(999999999);
                // 设置缓冲区大小,这里是4Mb
                fu.setSizeThreshold(4194304);
                // 设置临时目录:
                fu.setRepositoryPath(tempPath);            // 得到所有的文件:
                List fileItems = fu.parseRequest(request);
                Iterator i = fileItems.iterator();
                // 依次处理每一个文件:
                while (i.hasNext()) {
                    FileItem fi = (FileItem) i.next();
                    fi.getSize();                // 获得文件名,这个文件名包括路径:
                    String fileName = fi.getName();
                    if (fileName != null) {
                        String f = "\\";
                        int lastword = fileName.lastIndexOf(f);
                        String uploadfilename = fileName.substring(lastword);
                        fi.write(new File(uploadPath + uploadfilename));                }
                }
                forward("/jsp/succes.jsp", request, response);
            } catch (Exception e) {
                forward("/jsp/error.jsp", request, response);        }
        }    private void forward(String url, HttpServletRequest request,
                             HttpServletResponse response)
                throws IOException, ServletException {        RequestDispatcher rd = request.getRequestDispatcher(url);
            rd.forward(request, response);
        }}2、在jsp的页面中上传文件,使用SmartUpload.jar包,核心代码如下:
    <%@ page contentType="text/html; charset=GB2312" language="java" import="com.jspsmart.upload.*,thtf.ebuilder.formspk.*"%>
    <jsp:useBean id="mySmartUpload" scope="page" class="com.jspsmart.upload.SmartUpload" />
    <html>
    <head>
    <title>上传表单界面文件</title>
    <link href="/Application/css/style.css" rel="stylesheet" type=text/css>
    </head>
    <body>
    <%
    String type = request.getParameter("type");
    boolean have = false;
    if(type!=null && type.equals("1"))
    {
            String file_name = "";
    mySmartUpload.initialize(pageContext);
    mySmartUpload.upload();        String path = request.getRealPath("/infobs/upload/");
    java.io.File d = new java.io.File(path);
    java.io.File list[] = d.listFiles();
    com.jspsmart.upload.File myFile = mySmartUpload.getFiles().getFile(0);        for(int i=0; i < list.length; i++)
            {
               if (myFile.getFileName().equals(list[i].getName()))
                    {
                     out.println("<script>alert('存在同名文件,上传失败!');</script>");
                            have = true;
                            out.println("<script>window.history.go(-1)</script>");
                            break;
                    }
            }        if(!have)
            {
               myFile.saveAs("/infobs/upload/" + myFile.getFileName());
                    file_name = myFile.getFileName();
                    file_name = file_name.trim();
                    Examination exa = new Examination();
    if(!exa.CheckHml("\\infobs\\upload\\"+myFile.getFileName(),out,request))
    {
    java.io.File delF = new java.io.File(path,file_name);
    //删掉
    delF.delete();
    out.println("<script>alert('请修改表单后再上传!');</script>");
    out.println("<script>window.history.go(-1)</script>");
    }
    else
    {
                    out.println("<script>alert('上传成功!');</script>");
                  //  out.println("<script>window.history.go(-1)</script>");
                    out.println("<script"+">window.opener.form1.info_upload1.value='"+file_name+"';<"+"/script>");
                            out.println("<script"+">window.opener.form1.info_upload.value='"+file_name+"';<"+"/script>");
                            out.println("<script>window.history.go(-1)</script>");
                    }
            }
    }
    else
    {
    %>以上代码已经通过测试,供参考