站内搜索: 请输入搜索关键词

当前页面: 开发资料首页JSP 专题100分求助,fileupload上传大文件,想加上进度条显示上传进程,给些源代码或修改思路

100分求助,fileupload上传大文件,想加上进度条显示上传进程,给些源代码或修改思路

摘要: 100分求助,fileupload上传大文件,想加上进度条显示上传进程,给些源代码或修改思路


现在需要做这个功能,上传功能实现了,想加上进度条,有没有什么好方法实现呢?

我在网上找到了一个ahxu的ajax+jsp的源码,用了commons-fileupload-1.1.1.jar,servlet-api.jar,commons-io-1.2.jar,在progressUpload.jar包,下载完在本地使用,上传文件时出现ajax回调错误,但是进度条却正常进行,进度条进行完之后,文件却没有上传到指定文件夹,我输出了异常,结果是:F://file无法访问(这是我设定的保存地址),不知道这是什么原因呢?

大家可以看看这个地址:
http://zxub.cnblogs.com/archive/2006/07/17/452625.html

在他源码介绍里有这么句:“例子中只取到了FileItem,再将item保存一下就ok了,示例代码: File upFile = new File(remoteFilePath);
try
{
item.write(upFile);
fileInfo.put("infotip", "上传成功.");
}
catch (java.lang.Exception e)
{
fileInfo.put("infotip", "上传失败.");
}”

是不是我加的这段有问题呢?

这段while循环里我是这么写的:
while (fileItemListIte.hasNext())
{
FileItem file = (FileItem) fileItemListIte.next();
File upFile = new File(remoteFilePath);

try{
file.write(upFile);
out.println("上传成功!");
//fileInfo.put("infotip", "上传成功.");
out.println("ok!
");
}catch (java.lang.Exception e)
{
//fileInfo.put("infotip", "上传失败.");
out.println("上传异常!" + e);
}
out.println("
"+file.getName() + "
文件大小:" + file.getSize() + "
");

}

大家有新方法解决进度条也行,或者改这个方法也可以,大家帮帮忙!多谢了!


大家帮帮忙啊,有什么方法实现上传进度条的


我实现的就是加一个图片,上面有downloading...之类,惭愧,没有你追求高
学习
是不是需要文件大小?还有估计传输速度?晕了



差不多啊
我现在能实现的就是进度条,然后上传速度之类的,唯一的就是最后文件没有保存到文件夹,提示F://file 拒绝访问
这是为什么呢


up


进度条也可以选择js来实现,
<script>
var bar=0
var line="||"
var amount="||"
count()
function count(){
bar=bar+2
amount =amount + line
document.loading.chart.value=amount
document.loading.percent.value=bar+"%"
if (bar<99)
{setTimeout("count()",25);}
else
{window.location = "<%=request.getContextPath()%>/welcomeAction.do";
}
}
</script>
不过具体如何控制进度的量,需要再琢磨一下

----------------------------------------
城市劣人 http://www.5ai7.net/


commons-fileupload 上传大文件, 上传的时候写入TEMP 文件中的,
如果要准确的统计上传进度
修改commons-fileupload source 中MultipartStream.java 中readBodyData 方法加上你进度的返回到session 中还是其他地方,都可以了。


org.apache.commons.fileupload.FileItem file = (org.apache.commons.fileupload.FileItem) fileItemListIte.next();

if (!file.isFormField()) {
if((name==null||name.equals("")) && size==0)
java.io.File f1=new java.io.File("F://"+ name);
file.write(f1);
}


↑返回目录
前一篇: DB中20000条数据,一下显示到画面(IE)上,能显示吗?
后一篇: 求教找错思路!急!