File target = new File(targetDirectory, fileFileName);
FileUtilscopyFile(file, target);没有显示 就是路径不对 你先获取从项目的根目录 然后再获取所在路径
这是我取tomcat服务端文件夹的方法 用的是servlet
thisgetServletContext()getRealPath("uploadFile"); //( "uploadFile" 是放的文件夹)你是说太大传不了吧?
这是由于空间商限制了上传大小的。
他们可以通过前端服务器(apache,nginx这些)来限制大小的就算给你tomcat的所有配置权限你也改不了他们的限制。
国内现在的JSP主机很烂。做jsp还是自已搞主机,或买linux VPS自已建环境的好。用jspSmartUpload组件来实现,用jsp+servlet在Servlet里实现的代码:
PrintWriter out = responsegetWriter();
int count = 0;
// 实例化上传控件对象
SmartUpload su = new SmartUpload();
// 初始化 *** 作
suinitialize(config, request, response);
// 设置上传文件最大字节数
susetTotalMaxFileSize(100000);
//
try {
//禁止上传指定扩展名的文件
susetDeniedFilesList("ext,bat,jsp");
} catch (SQLException e1) {
e1printStackTrace();
}
try {
// 上传文件到服务器
suupload();
File fileup = new File(requestgetRealPath("upload"));
if(!fileupexists()){
// 创建目录
fileupmkdir();
}
// 处理多个文件的上传
for(int i = 0;i < sugetFiles()getCount();i++){
comjspsmartuploadFile file = sugetFiles()getFile(i);
if(!fileisMissing()){ // 如果文件有效
// 保存文件到指定上传目录
filesaveAs("/upload/new"+filegetFileExt(), suSAVE_VIRTUAL);
count = susave("/upload");
}
}
} catch (SmartUploadException e) {
eprintStackTrace();
}
outprintln(count +"file(s) uploaded");
如果你对这个上传组件不了解,最好是先去查查用法。。。你可能把服务器的相对地址保存到数据库里去,如在updateimg文件夹下的2012010501jsp文件
地址就是:/updateimg/2012010501jsp 前面加上服务的访问地址
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)