关于SmartUpload上传文件至服务器目录问题:如何在上传之后释放文件流所耗内存?
兄弟目前遇到一个问题,由于系统各个模块都有用到附件上传。但当系统中用户足够多的时候,倘若大家都上传附件,则很容易造成进程堵塞。
我检查了一下使用SmartUpload的上传代码,具体相关处理代码如下:
<jsp:useBean id="myUpload" scope="page" class="com.jspsmart.upload.SmartUpload" />
<%
myUpload.initialize(pageContext);
myUpload.upload();
java.util.Enumeration e = myUpload.getRequest().getParameterNames();
String path=request.getRealPath("."); //文件路径
path = path.substring(0,path.length()-1)+"g/documentsave/gongcheng";
//........相关变量处理
try {
com.jspsmart.upload.File myFile = myUpload.getFiles().getFile(0);
FileName = myFile.getFileName();
FileName = new String(FileName.getBytes("iso-8859-1"),"GBK");
SlaveSize = myFile.getSize();
String ReName = System.currentTimeMillis()+SlaveSize+"."+myFile.getFileExt(); //文件重命名
String alphaPt = path+"/"+ReName;
myFile.saveAs(alphaPt);//上传保存文件
} catch (Exception er) {
out.println(er.toString());
}
%>
其中并无关于上传完毕后的内存释放处理。
因为SmartUpload上传是先将文件流读到内存中,再转换写入服务器目录下,而上传完毕后并未主动将所用内存释放,所以本人认为进程堵塞的主要原因便是在此。
我检查了SmartUpload原文件,期间并没有类似close等释放对象的方法。由于本人并没有关于二进制文件流的释放处理经验,不知道哪位大哥可以提供类似的处理?
我检查了一下使用SmartUpload的上传代码,具体相关处理代码如下:
<jsp:useBean id="myUpload" scope="page" class="com.jspsmart.upload.SmartUpload" />
<%
myUpload.initialize(pageContext);
myUpload.upload();
java.util.Enumeration e = myUpload.getRequest().getParameterNames();
String path=request.getRealPath("."); //文件路径
path = path.substring(0,path.length()-1)+"g/documentsave/gongcheng";
//........相关变量处理
try {
com.jspsmart.upload.File myFile = myUpload.getFiles().getFile(0);
FileName = myFile.getFileName();
FileName = new String(FileName.getBytes("iso-8859-1"),"GBK");
SlaveSize = myFile.getSize();
String ReName = System.currentTimeMillis()+SlaveSize+"."+myFile.getFileExt(); //文件重命名
String alphaPt = path+"/"+ReName;
myFile.saveAs(alphaPt);//上传保存文件
} catch (Exception er) {
out.println(er.toString());
}
%>
其中并无关于上传完毕后的内存释放处理。
因为SmartUpload上传是先将文件流读到内存中,再转换写入服务器目录下,而上传完毕后并未主动将所用内存释放,所以本人认为进程堵塞的主要原因便是在此。
我检查了SmartUpload原文件,期间并没有类似close等释放对象的方法。由于本人并没有关于二进制文件流的释放处理经验,不知道哪位大哥可以提供类似的处理?
...全文
相关推荐
jsp上传控件-smartupload完美版:解决中文、内存所有问题
jsp上传控件-smartupload完美版: 经过重新修改编译后,有4大特点: 1.解决中文上传乱码问题 2.解决中文下载乱码问题 3.解决无法自动生成文件夹问题 4.解决长时间运行内存泄漏问题 说明:http://blog.csdn.net/gxf212/archive/2008/09/17/2940100.aspx
SmartUpload文件上传
NULL 博文链接:https://fangyong2006.iteye.com/blog/727816
smartupload文件上传功能
smartupload组件实现文件上传功能
使用SmartUpload 实现文件上传
使用SmartUpload 实现文件上传,
smartupload上传图片的例子
这个是使用smartupload上传图片,里面要注意在显示图片的时候,它所取得的是服务目录下面的路径名称.


Web 开发
