这个你用smartupload时候有设置文件大小的,看你自己的需要设置了
看下面代码:
//定义上传文件的最大容量
         mySmartUpload.setTotalMaxFileSize(5000000);
5000000是你自己设定的,你要多大就设置多大。

解决方案 »

  1.   

    如果是上传到目录下,可以是几M,而且不需要定义文件大小,但要再传到
    ORACLE就不能超过6K,这怎么解决?
      

  2.   

    那要看你是怎么从目录上传到oracle?
      

  3.   

    难道真的没有办法让ORACLE存储图片吗?请指教
      

  4.   

    jspsmart
    是什么东西呢?
    很想知道
    为什么上传到oracle中要用它呢?能不能堪直接上传请给说说
    谢谢
      

  5.   

    smartupload处理上载文件是选“完整”的存贮在内容中的,
    很明显,如果上载的文件超出内存的限制,smartupload是无法处理的。
    因为这个原因,我在一个项目中放弃了smartupload,而根据apache
    trubin 的实现方式重新编写了一个上载服务。
    /----------------------------------------------------\
    |  |o  |_| _ o|_  _ ._     General Product Division  |
    | _||  | |(_||| |(_|| |    Neusoft CO.,Ltd.          |
    *----------------------------------------------------*
    |     ((__))     沈阳东软软件股份有限公司 软件产品部 |
    |      (00)        (024)83662035    [email protected] |
    \-nn--(o__o)--nn-------------------------------------/
      

  6.   

    上传到目录下没问题。只是写入ORACLE时有问题,大小不能超过6K。我想这
    应该和内存没关系吧?
      

  7.   

    我没用jspsmart,直接上传的:(
    你可以参考!测试通过。第一步:建立数据库
    create table test_img(id number(4),name varchar(20),img long raw);第二步:(NewImg.html)<html><head><title>添加图片</title></head>
    <body>
    添加图片<br>
    <form method="post" action="insertNews.jsp">
    图像ID:<input name="id" size="10">
    <br>
    选择图像:<input type="file" name="image">
    <br>
    <input type="submit" value="上传" name="submit" size="25">
    <input type="reset" value="清除" name="clear" size="25">
    <br>
    </form>
    </body></html>第三步:插入数据库(InsertImg.jsp)<%@ page language="java"%>
    <%@ page contentType="text/html;charset=gb2312" %>
    <%@ page import="java.util.*" %>
    <%@ page import="java.sql.*"%>
    <%@ page import="java.text.*"%> 
    <%@ page import="java.io.*"%>  <%
    Class.forName("oracle.jdbc.driver.OracleDriver"); 
    String url="jdbc:oracle:thin:@lubin:1521:b2bdb"; 
    Connection con=DriverManager.getConnection(url,"demo","demo"); //插入数据库
    String sql="insert into test_img values (?,?,?)";
    //获取传值ID
    String id=request.getParameter("id");
    //获取image的路径
    String kk=request.getParameter("image");
    //转换成file格式
    File filename=new File(kk);//将文件的长度读出,并转换成Long型
    long l1=filename.length();
    int l2=(int)l1;//以流的格式赋值
    FileInputStream fis=new FileInputStream(filename);PreparedStatement ps =con.prepareStatement(sql);
    ps.setString(1,id);
    ps.setString(2,filename.getName());
    ps.setBinaryStream(3,fis,l2); 
    //ps.setBinaryStream(3,fis,fis.available()); 
    ps.executeUpdate();
    //ps.execute(); 
    ps.close();
    fis.close();
    out.println("ok!!!");
    %>第四步:显示图片(ShowImg.jsp)<%@ page language="java" import="java.sql.*"%> 
    <%@ page import="java.io.*"%> 
    <%@ page contentType="text/html;charset=gb2312"%><% 
    Class.forName("oracle.jdbc.driver.OracleDriver"); 
    String url="jdbc:oracle:thin:@lubin:1521:b2bdb"; 
    String image_id = (String) request.getParameter("ID");Connection con=DriverManager.getConnection(url,"demo","demo"); 
    PreparedStatement sql=con.prepareStatement("select * from test_img WHERE id = " + image_id); 
    ResultSet rs = sql.executeQuery(); rs.next(); 
    //输入img字段内容到in
    InputStream in = rs.getBinaryStream("img"); //以下可是任何处理,比如向页面输出: response.reset(); 
    //此处的image/jpeg似乎与显示的图片格式无关
    //因为我显示jsp和gif都没有错误。icech不是很懂,都是参考别人的。
    response.setContentType("image/jpeg"); 
    byte[] b = new byte[1024]; 
    int len; 
    while((len=in.read(b)) >0) 
    response.getOutputStream().write(b,0,len); in.close(); 
    rs.close(); 
    %> 
      

  8.   

    icech:
          首先感谢你的帮助。但这种办法无法上传文件。不知你是在什么环境下
    完成的?
      

  9.   

    我的email
    [email protected]
    可以联系我:)
      

  10.   

    icech的上传方式并不正确,只能在服务器自己上传,因为取得的路径是服务器的,如果在客户端上传的话,程序也是到服务器的路径去找图片,这样根本就是乱套了!
      

  11.   

    leki(xmbbs) 说的对,我的方法确实不行,只能在本地使用。有没有更好的方法?直接将本地图片上传到服务器的数据库里面去呢?