Topic: 用就jstl,EL怎么上传图片啊?(在线等待)

  Print this page

1.用就jstl,EL怎么上传图片啊?(在线等待) Copy to clipboard
Posted by: hehe332
Posted on: 2004-05-23 21:52

小弟第一次用jstl,jsp2.0表达式语言,不知道怎样上传图片?那位高手能详细告诉啊,我急呀
...........
<sql:update var="picture" dataSource="${jsp}" sql="insert into picture values('${param.name},'${param.url}')
........
上传的只是图片的绝对路径,再用<img src=${row.url}>打开就不行了,有没有什么办法,能让图片上传(拷贝)到指定目录下,就象用jspsmartupload一样呢?
环境:mysql,tomcat5.0.14

2.Re:用就jstl,EL怎么上传图片啊?(在线等待) [Re: hehe332] Copy to clipboard
Posted by: why
Posted on: 2004-05-25 06:06

Do you have to use JSTL all the time? Smile
JSTL(-EL) is not an all-purpose tool.

If you want to use open source tool, you may try http://jakarta.apache.org/commons/fileupload/
process the uploadStream to store into DB.

3.Re:用就jstl,EL怎么上传图片啊?(在线等待) [Re: hehe332] Copy to clipboard
Posted by: hehe332
Posted on: 2004-05-25 22:32

If you want to use open source tool, you may try http://jakarta.apache.org/commons/fileupload/
process the uploadStream to store into DB.
---------------------------------
我不太明白您的意思,您是说要下载上传组件吗?
其实,我认为用jpsmartupload就可以了,我试过了,就在<sql:update var="picture" dataSource="${jsp}" sql="insert into picture values('${param.name},'${param.url}')后面更上
<%
  // 新建一个SmartUpload对象
  SmartUpload su = new SmartUpload();
  // 上传初始化
  su.initialize(pageContext);
  // 设定上传限制
  // 1.限制每个上传文件的最大长度。
  // su.setMaxFileSize(10000);
  // 2.限制总上传数据的长度。
  // su.setTotalMaxFileSize(20000);
  // 3.设定允许上传的文件(通过扩展名限制),仅允许doc,txt文件。
  // su.setAllowedFilesList("doc,txt");
  // 4.设定禁止上传的文件(通过扩展名限制),禁止上传带有exe,bat,
  jsp,htm,html扩展名的文件和没有扩展名的文件。
  // su.setDeniedFilesList("exe,bat,jsp,htm,html,,");
  // 上传文件
  su.upload();
  // 将上传文件全部保存到指定目录
  int count = su.save("/upload");
  out.println(count+"个文件上传成功!<br>");

  。。。。。。。。。。。。。。。。。
。。。。。。。
  %>
但是结果是:图片传到了指定的文件夹里,可是插入到数据库里的数据全部为空,我想是不是${param.name},'${param.url}的结果为空?可是如果不要jpsmartupload,就可以插入了,我正的很郁闷啊,有谁知道啊??我是新手,急需要你们的帮组啊!

4.Re:用就jstl,EL怎么上传图片啊?(在线等待) [Re: hehe332] Copy to clipboard
Posted by: hehe332
Posted on: 2004-05-28 19:19

怎么没有人理睬我呀,我真的好可怜啊!
是不是我的问题很幼稚啊?劳驾各位了,这可是我的毕业论文啊

5.Re:用就jstl,EL怎么上传图片啊?(在线等待) [Re: hehe332] Copy to clipboard
Posted by: Jay
Posted on: 2004-05-29 07:51

自己调试阿 如果你不能确定是否为空 把它们打印出来不就行了

6.Re:用就jstl,EL怎么上传图片啊?(在线等待) [Re: hehe332] Copy to clipboard
Posted by: Jove
Posted on: 2004-05-29 11:39

hehe332 wrote:
怎么没有人理睬我呀,我真的好可怜啊!
是不是我的问题很幼稚啊?劳驾各位了,这可是我的毕业论文啊


因为你只用SmartUpload把它上传到一个目录,并没有任何插入数据库的语句

7.Re:用就jstl,EL怎么上传图片啊?(在线等待) [Re: hehe332] Copy to clipboard
Posted by: hehe332
Posted on: 2004-05-29 17:19

因为你只用SmartUpload把它上传到一个目录,并没有任何插入数据库的语句
----------------------------------
难道,<sql:update var="picture" dataSource="${jsp}" sql="insert into picture values('${param.name},'${param.url}')>不算插入语句吗?调试的结果证明${param.name},'${param.url}两个参数都为NUll,而为什么不跟上smartupload就可以了呢?此处我只是用sql标签和el而已,难道不能这样用?(用javabean不是挺好的吗?)
问题其实很简单,就是把图片及其名字插入到数据库中,而导出到页面上时要求显示图片及名字,我不太明白图片上传到数据库是什么概念?是绝对路径,还是站点内的相对路径?

如果代码还不够说明问题,我可以多贴一些!

8.Re:用就jstl,EL怎么上传图片啊?(在线等待) [Re: hehe332] Copy to clipboard
Posted by: Jove
Posted on: 2004-05-29 17:30

上传图片有两种,一是直接把图片存到数据库,一般是作为BLOB
另一种就是把文件上传到一个目录,而在数据库中保存这个在服务器上的路径

一般我们使用前者.
而你这里把param.url保存到数据库没有什么意义
你可以选择把smartupload保存的路径存到数据库,或是直接把流进去

不同数据库对BLOB的处理不尽相同,需要分别对待

另外,JSTL和EL都是表现层的东西,SQL标签尽量少用,因为它倒退到什么功能都在jsp完成的局面.而且jstl的sql标签是不支持blob的


   Powered by Jute Powerful Forum® Version Jute 1.5.6 Ent
Copyright © 2002-2021 Cjsdn Team. All Righits Reserved. 闽ICP备05005120号-1
客服电话 18559299278    客服信箱 714923@qq.com    客服QQ 714923