CSDN首页 空间 新闻 论坛 Blog 下载 读书 网摘 搜索 .NET Java 视频 接项目 求职 在线学习 买书 程序员 通知
不看会后悔的Windows XP之经验谈 简单快捷DIY实用家庭影院
CSDN社区
搜索 收藏 打印 关闭
CSDN社区 >  Java >  Web 开发

jsp文件上传问题,高手请指教

楼主jesse8013(每天进步一点点)2006-05-02 10:43:15 在 Java / Web 开发 提问

我只想让用户上传图片,因为就只一点图片,而且量不是很多,所以不想用jsp     smartupload。  
  哪位能告诉我怎么使用io   流进行上传吗  
      我的思路是这样的    
  upload.jsp  
  <form   action="testFile.jsp"   enctype="multipart/form-data"   method="get">  
  <input   type="file"   name="pic">  
  </form>  
   
  testFile.jsp//我使用testfile.jsp   而不使用servlet是因为这个页面还要处理一些其他信息比喻说姓名修改等,我这个上传页面就是个   用户修改资料的页面。。  
  <%  
  String   path=request.getParameter("pic");  
  FileInputStream   in=new   FileInputStream(path);  
   
  但是我不知道这个path   到底是读的是服务器的路径还是client的路径  
  而且这个写文件应该是server的路径啊,我怎么让读的路径是client的路径  
  而写文件是server的路径,同时怎么传输这个文件流了?  
  %> 问题点数:50、回复次数:17Top

1 楼jesse8013(每天进步一点点)回复于 2006-05-02 11:35:01 得分 0

怎么没人回答?  
  我自己顶Top

2 楼jesse8013(每天进步一点点)回复于 2006-05-02 12:01:29 得分 0

up   upTop

3 楼yz790724(想想)回复于 2006-05-02 12:13:16 得分 0

不知道JSP是怎么实现的,但它可以做到Top

4 楼yushihai(于世海)回复于 2006-05-02 12:27:25 得分 0

<%--    
  文件名:do_upload.jsp    
  --%>    
  <%@   page   contentType="text/html;   charset=gb2312"   language="java"    
  import="java.util.*,com.jspsmart.upload.*"   errorPage=""   %>    
  <html>    
  <head>    
  <title>文件上传处理页面</title>    
  <meta   http-equiv="Content-Type"   content="text/html;   charset=gb2312">    
  </head>    
   
  <body>    
  <%    
  //   新建一个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>");    
   
  //   利用Request对象获取参数之值    
  out.println("TEST="+su.getRequest().getParameter("TEST")    
  +"<BR><BR>");    
   
  //   逐一提取上传文件信息,同时可保存文件。    
  for   (int   i=0;i<su.getFiles().getCount();i++)    
  {    
  com.jspsmart.upload.File   file   =   su.getFiles().getFile(i);    
   
  //   若文件不存在则继续    
  if   (file.isMissing())   continue;    
   
  //   显示当前文件信息    
  out.println("<TABLE   BORDER=1>");    
  out.println("<TR><TD>表单项名(FieldName)</TD><TD>"    
  +   file.getFieldName()   +   "</TD></TR>");    
  out.println("<TR><TD>文件长度(Size)</TD><TD>"   +    
  file.getSize()   +   "</TD></TR>");    
  out.println("<TR><TD>文件名(FileName)</TD><TD>"    
  +   file.getFileName()   +   "</TD></TR>");    
  out.println("<TR><TD>文件扩展名(FileExt)</TD><TD>"    
  +   file.getFileExt()   +   "</TD></TR>");    
  out.println("<TR><TD>文件全名(FilePathName)</TD><TD>"    
  +   file.getFilePathName()   +   "</TD></TR>");    
  out.println("</TABLE><BR>");    
   
  //   将文件另存    
  //   file.saveAs("/upload/"   +   myFile.getFileName());    
  //   另存到以WEB应用程序的根目录为文件根目录的目录下    
  //   file.saveAs("/upload/"   +   myFile.getFileName(),    
  su.SAVE_VIRTUAL);    
  //   另存到操作系统的根目录为文件根目录的目录下    
  //   file.saveAs("c:\temp\"   +   myFile.getFileName(),    
  su.SAVE_PHYSICAL);    
   
  }    
  %>    
  </body>    
  </html>    
  Top

5 楼littlefools()回复于 2006-05-02 14:08:53 得分 0

String   path=request.getParameter("pic");  
  FileInputStream   in=new   FileInputStream(path);  
  ---------  
  估计这样写不行,读取的是服务器的目录。  
  参考smartupload的源代码,应该是用request.getInputStream读入客户端文件内容。  
  用fileoutputstream.write写到服务器上。Top

6 楼jesse8013(每天进步一点点)回复于 2006-05-02 14:40:00 得分 0

哎  
  难道没有人知道jsp   怎么做到的?  
  第二个问题  
  没有人能解答了...伤心ingTop

7 楼ruanjiantaotao(涛涛)回复于 2006-05-02 15:07:52 得分 0

可以,就是简单的文件流读取,你可以参看简单的java   文件处理  
  至于第二个问题,我没有明白你的意思Top

8 楼jesse8013(每天进步一点点)回复于 2006-05-02 17:10:33 得分 0

这是我的第二个问题都要沉下去了  
  http://community.csdn.net/Expert/topic/4717/4717782.xml?temp=.602154  
  读取流我会  
  关键是怎么     从client端读文件   再传到   server  
  再下来  
  ruanjiantaotao(涛涛)   :  
  你确定就是简单的读取文件流?  
  能提供一下代码么?Top

9 楼littlefools()回复于 2006-05-02 17:37:59 得分 0

晕,你看我的帖子了吗?Top

10 楼jesse8013(每天进步一点点)回复于 2006-05-02 18:21:47 得分 0

littlefools()    
  什么意思?Top

11 楼jesse8013(每天进步一点点)回复于 2006-05-02 18:22:26 得分 0

我一点不懂懂Top

12 楼jesse8013(每天进步一点点)回复于 2006-05-02 22:23:22 得分 0

还是要up   一下Top

13 楼zouwei8013()回复于 2006-05-03 10:40:02 得分 0

我帮你up一下Top

14 楼zouwei8013()回复于 2006-05-03 11:05:29 得分 0

一直up  
  Top

15 楼jesse8013(每天进步一点点)回复于 2006-05-03 12:59:11 得分 0

upup   up  
  狂upTop

16 楼gyzh8310(回收公司)回复于 2006-05-03 14:57:29 得分 0

直接存储为数据流没有做过,不过做过直接将文件上传服务器,以及它的路径!!!Top

17 楼molinus(林)回复于 2006-05-25 15:02:55 得分 50

FileInputStream   in=request.getInputStream()  
  <form   action="testFile.jsp"   enctype="multipart/form-data"   method="get">  
  就会自动读取客户端的流,传到服务器端  
  Top

相关问题

关键词

得分解答快速导航

  • 帖主:jesse8013
  • molinus

相关链接

  • CSDN Java频道
  • Java类图书
  • Java类源码下载

广告也精彩

反馈

请通过下述方式给我们反馈
反馈
提问
网站简介|广告服务|VIP资费标准|银行汇款帐号|网站地图|帮助|联系方式|诚聘英才|English|问题报告
北京创新乐知广告有限公司 版权所有, 京 ICP 证 070598 号
世纪乐知(北京)网络技术有限公司 提供技术支持
Copyright © 2000-2008, CSDN.NET, All Rights Reserved
GongshangLogo