JspSmartUpload中load方法挂起了

fengqiwuyue 2009-04-03 03:08:05

各位大侠有知道麻烦帮帮忙,问题是这样的:
我用jspSmartUppload做上传文件,如果是在jsp页面进行处理上传的话就没有任何的问题,但是我需要在类中写方法来上传,代码和页面的一样的,结果就是上传不了,整个都被挂起了。有人遇到这样的问题麻烦帮忙解决下,急用!
先行道谢!
类中的代码如下:



mySmart.initialize(pageContext);

mySmart.setTotalMaxFileSize(1000000);

mySmart.setAllowedFilesList("htm,html,txt,bmp,gif,mp3,jsp,jpg,");

// 上传文件到服务器
mySmart.upload(); 我运行断点的时候发现是在这里被卡住了的,过不去 // 对上传到服务器的文件进行逐个处理
for(int i = 0; i < mySmart.getFiles().getCount(); i++) {
// 取出一个文件
com.jspsmart.upload.File myFile = mySmart.getFiles().getFile(i);
// 只有myFile代表的文件存在时才执行存储操作
if (!myFile.isMissing()) {
// 保存该文件到web应用程序下的files目录
myFile.saveAs("/files/" + myFile.getFileName());
}
}






...全文
109 10 打赏 收藏 转发到动态 举报
写回复
用AI写文章
10 条回复
切换为时间正序
请发表友善的回复…
发表回复
joejoe1991 2009-04-10
  • 打赏
  • 举报
回复
只能写在jsp页面中。如果写在Action或者Action后面的层中,就会有问题。
因为上传的二进制流已经被Struts提前截掉了。。。。
看下面的代码就知道了。。

RequestProcessor:
public void process(HttpServletRequest request, HttpServletResponse response)
throws IOException, ServletException {
// Wrap multipart requests with a special wrapper
request = processMultipart(request);

// Identify the path component we will use to select a mapping
String path = processPath(request, response);

if (path == null) {
return;
}
.......



    protected HttpServletRequest processMultipart(HttpServletRequest request) {
if (!"POST".equalsIgnoreCase(request.getMethod())) {
return (request);
}

String contentType = request.getContentType();

if ((contentType != null)
&& contentType.startsWith("multipart/form-data")) { //如果是POST,而且上传文件
return (new MultipartRequestWrapper(request)); //request进行包装后返回,Action里面拿到的都是包装后的request了,而不是原始的。
} else {
return (request);
}
}


在process方法的第一行就调用了:
request = processMultipart(request);

对request进行了处理。。
所以你的jspsmartupload拿到的是包装后的request...
dejiang_ren 2009-04-10
  • 打赏
  • 举报
回复
楼上 我怎么觉的也是这个问题啊!
  • 打赏
  • 举报
回复
貌似我自己都没解决那个问题 struts自己截取 我找了n久都没发现怎么解决
lovezx1028 2009-04-10
  • 打赏
  • 举报
回复
接分来啦。。
fengqiwuyue 2009-04-10
  • 打赏
  • 举报
回复
你们说的我都知道,pageContext获取到了的!貌似没人能解决
yinglu206 2009-04-08
  • 打赏
  • 举报
回复
那你应该是在XXAction中写的代码吧,pageContext没有获取啊,
在Jsp页面中pageContext是内置对象,可以直接用
  • 打赏
  • 举报
回复
同意四楼
fengqiwuyue 2009-04-03
  • 打赏
  • 举报
回复
忘记交代一点,我是在ssh框架做的,代码已经在上面,就是上面的代码,我只是想知道为什么在页面进行文件的保存就没有问题,而我在struts中的调用这个类的方法的时候就不行。方法的代码就是上面的
西部流云 2009-04-03
  • 打赏
  • 举报
回复
问题不是很清楚,希望lz把代码贴出来
sjzxqrj 2009-04-03
  • 打赏
  • 举报
回复
你的这些业务代码是在哪里运行的呢?jsp?servlet?

如果是在servlet里面注意pageContext 还有前台form提交的方式

看看这个 http://download.csdn.net/down/890318/skyhotdog


承揽网站开发,SEO优化,毕业设计,OA,ERP,空间,域名,企业级管理系统 业务范围:[.net] [java]

62,615

社区成员

发帖
与我相关
我的任务
社区描述
Java 2 Standard Edition
社区管理员
  • Java SE
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧