在应用swfupload上传图片的至Linux时遇到的问题
异常如下:java.io.FileNotFoundException: /var/lib/tomcat7/webapps/sxtour_core/htmlpage/upload/scenery/199/2.jpg (Permission denied)
at java.io.FileOutputStream.open(Native Method)
at java.io.FileOutputStream.<init>(FileOutputStream.java:209)
at java.io.FileOutputStream.<init>(FileOutputStream.java:160)
at com.tour.util.UploadFile.copy(UploadFile.java:32)
at com.tour.util.UploadFile.uploadPic(UploadFile.java:90)
........
重点在FileNotFoundException以及Permission denied上,从字面意思理解是文件的写入权限被拒绝,所以就要开启相应目录的写入权限。
解决方法:
1、到达root目录下
2、执行chmod 777 -R /root/yourfilepath
这样就会开启“yourfilepath”目录以及下面所有文件的写入权限,你就可以在lunix下指定的目录下写文件啦。
除此之外你也会发现在使用swfupload的时候会生成一些临时文件,那么这些临时文件什么呢?它其实就是文件上传时未被移除的参数形成的文件,那么其实它是应该被删掉的,但是如果你是在很多地方应用上传的话就要配置拦截器去拦截这些参数(这个可以在网上搜,一大把,这里就不详述了),不让它传到后端从而也不会生成临时文件,那么linux里边的临时文件的写入权限你也就不用开启和配置了,我这边因为很多个ACTION都引用了上传且上传只是其中一个方法的一个调用而已,所以无法简单的使用参数拦截器去拦截,那样会影响其他方法参数传递,所以本人就用最笨的方式:删除相应的临时文件,删除时注意linux下路径的写法,windows就不用说了。
这里顺便附上删除文件夹以及文件夹下所有文件的代码
/**
* 删除某个文件夹下的所有文件夹和文件
*
* @param delpath String
* @throws FileNotFoundException
* @throws IOException
* @return boolean
*/
public static boolean deletefile(String delpath)
throws FileNotFoundException, IOException {
try {
File file = new File(delpath);
if (!file.isDirectory()) {
System.out.println("+++++++++不存在此目录!++++++++++++");
file.delete();
} else if (file.isDirectory()) {
System.out.println("++++++++++++存在此目录++++++++++++");
String[] filelist = file.list();
for (int i = 0; i < filelist.length; i++) {
File delfile = new File(delpath + "\\" + filelist[i]);
if (!delfile.isDirectory()) {
System.out.println("path=" + delfile.getPath());
System.out.println("absolutepath="
+ delfile.getAbsolutePath());
System.out.println("name=" + delfile.getName());
delfile.delete();
System.out.println("删除文件成功!");
} else if (delfile.isDirectory()) {
deletefile(delpath + "\\" + filelist[i]);
}
}
file.delete();
}
} catch (FileNotFoundException e) {
System.out.println("deletefile() Exception:" + e.getMessage());
}
return true;
}
- 大小: 38.1 KB
分享到:
相关推荐
swfupload图片上传插件制作图片批量上传和单个图片上传代码swfupload图片上传插件制作图片批量上传和单个图片上传代码
swfUpload上传文件图片(多图片); 导入myeclipse直接运行即可;可扩展;
一个不错的swfupload批量上传图片的myeclipse工程
以前一直使用ASP.NET自带的FileUpload控件进行上传文件,发现经常出问题. 尽管在web.config文件中设置了maxRequestLength为很大,但还是不能上传大于2M的文件. 所有后来研究了下上传相关知识, 发现swfupload是一个不错...
swfupload多文件上传带进度条实例,vs2012开发,net4.0框架,可上传多个文件,上传类型、上传大小、上传数量可控,已测试成功!
swfupload批量上传图片,上传成功后显示缩略图。可对图片进行描述后存入数据库
完善的SwfUpload 图片上传demo。经过改装功能完善。
里面包含两个thinkphp+swfupload上传多张图片实例,需要的可以下载,按照自己的需要进行修改
swfupload 异步上传文件,支持进度条上传
swfupload flash上传兼容所有浏览器
jquery swfupload图片上传插件制作图片批量上传和单...
swfupload上传文件 上传js使用
SWFUpload不同于其他基于Flash构建的上传工具,它有着优雅的代码设计,开发者可以利用XHTML、CSS和JavaScript来随心所欲的定制它在浏览器下的外观;它还提供了一组简明的JavaScript事件,借助它们开发者可以方便的...
swfupload多文件上传实例,相当好用
SwfUpload Ext.Net
c#应用SWFUpload 实现一次性多个文件上传的例子,已经测试通过.
PHP多文件上传 SWFUpload上传例子
swfupload 仿58赶集 图片上传的小例子 直接放在根目录下 访问index.php 保证tmp文件夹可写 可实现类似58那种添加图片 生成缩略图 删除图片的效果
asp 的swfupload上传例子 SWFUpload_ASP.rar
swfupload上传控件2.5版本,修复多个bug,支持多文件上传,大文件上传,可控制上传文件数目。