网上很多的,
<input type="file">
这个可以用。
基于http???

解决方案 »

  1.   

    我给你:
    UploadForm.java
    /*
     * Generated by MyEclipse Struts
     * Template path: templates/java/JavaClass.vtl
     */
    package org.lxh.struts.form;import javax.servlet.http.HttpServletRequest;import org.apache.struts.action.ActionErrors;
    import org.apache.struts.action.ActionForm;
    import org.apache.struts.action.ActionMapping;
    import org.apache.struts.upload.FormFile;/** 
     * MyEclipse Struts
     * Creation date: 06-06-2007
     * 
     * XDoclet definition:
     * @struts.form name="uploadForm"
     */
    public class UploadForm extends ActionForm {
    /*
     * Generated Methods
     */
    private FormFile pic ;
    private String name ;
    /** 
     * Method validate
     * @param mapping
     * @param request
     * @return ActionErrors
     */
    public ActionErrors validate(ActionMapping mapping,
    HttpServletRequest request) {
    // TODO Auto-generated method stub
    return null;
    } /** 
     * Method reset
     * @param mapping
     * @param request
     */
    public void reset(ActionMapping mapping, HttpServletRequest request) {
    // TODO Auto-generated method stub
    } public FormFile getPic() {
    return pic;
    } public void setPic(FormFile pic) {
    this.pic = pic;
    } public String getName() {
    return name;
    } public void setName(String name) {
    this.name = name;
    }
    }
      

  2.   

    UploadAction.java
    /*
     * Generated by MyEclipse Struts
     * Template path: templates/java/JavaClass.vtl
     */
    package org.lxh.struts.action;import java.io.File;
    import java.io.FileNotFoundException;
    import java.io.FileOutputStream;
    import java.io.IOException;
    import java.io.OutputStream;import javax.servlet.http.HttpServletRequest;
    import javax.servlet.http.HttpServletResponse;import org.apache.struts.action.Action;
    import org.apache.struts.action.ActionForm;
    import org.apache.struts.action.ActionForward;
    import org.apache.struts.action.ActionMapping;
    import org.apache.struts.upload.FormFile;
    import org.lxh.struts.form.UploadForm;/** 
     * MyEclipse Struts
     * Creation date: 06-06-2007
     * 
     * XDoclet definition:
     * @struts.action path="/upload" name="uploadForm" input="/form/upload.jsp" scope="request" validate="true"
     */
    public class UploadAction extends Action {
    /*
     * Generated Methods
     */ /** 
     * Method execute
     * @param mapping
     * @param form
     * @param request
     * @param response
     * @return ActionForward
     */
    public ActionForward execute(ActionMapping mapping, ActionForm form,
    HttpServletRequest request, HttpServletResponse response) {
    UploadForm uploadForm = (UploadForm) form;// TODO Auto-generated method stub
    // 在编写IO流的时候必须有一个明确的绝对路径
    // 可是对于WEB程序而言,绝对路径不是固定的

    String uploadPath = this.getServlet().getServletContext().getRealPath("/")+"upload\\"+uploadForm.getName()+"."+(uploadForm.getPic().getFileName().split("\\.")[1]) ;
    System.out.println("** "+uploadPath) ;
    try {
    OutputStream out = new FileOutputStream(new File(uploadPath)) ;
    FormFile ff = uploadForm.getPic() ;
    byte b[] = ff.getFileData() ;
    out.write(b) ;
    out.close() ;
    } catch (FileNotFoundException e) {
    // TODO Auto-generated catch block
    e.printStackTrace();
    } catch (IOException e) {
    // TODO Auto-generated catch block
    e.printStackTrace();
    }
    return null;
    }
    }
      

  3.   


    <%@ page language="java" pageEncoding="GBK"%>
    <%@ taglib uri="http://struts.apache.org/tags-bean" prefix="bean" %>
    <%@ taglib uri="http://struts.apache.org/tags-html" prefix="html" %>
    <%@ taglib uri="http://struts.apache.org/tags-logic" prefix="logic" %>
    <%@ taglib uri="http://struts.apache.org/tags-tiles" prefix="tiles" %>
    <html:html lang="true">
      <head>
        <title>Upload.jsp</title>
      </head>
      
      <body>
        <html:form action="upload.do" method="post" enctype="multipart/form-data">
         文件的名称:<html:text property="name"></html:text><br>
         选择上传的文件:<html:file property="pic"></html:file><br>
         <html:submit value="上传"/>
        </html:form>
      </body>
    </html:html>
      

  4.   

    晕,楼上代码很好,但我想要纯JSP的,不要SSH或stucts的,而且我不想要用插件的。
      

  5.   

    我在说下我的需求吧, 
    不用任何插件和控件,JSP上传图片的javabean(类)的源码,并且在javabean里有指定保存路径的方法和设置文件名的方法(比如,所有图片文件都上传到某个指定目录,并且每个图片的名字都是上传人的身份证号(身份证号是其他操作时保存在session里的),上传后自动刷新页面并将图片显示在表格里的某个单元格里) 
      

  6.   

    可以通过<jsp:usebean id="id1" class="图片上传类" >使用的
      

  7.   

    可以通过 <jsp:usebean id="id1" class="图片上传类" >使用的 
      

  8.   

    可以通过 <jsp:usebean id="id1" class="图片上传类" >使用的