
java web开发中,使用文件 *** 作类来上传并读取,如下代码:
@desc: 处理工具@author: bingye
@createTime: 2015-3-17 下午04:25:32
@version: v10
/
public class ImageUtil {
/
将写到客户端
@author: bingye
@createTime: 2015-3-17 下午04:36:04
@history:
@param image
@param response void
/
public static void writeImage(byte[] image,>
获取上下文
从request中取,得到webapp路径。
String dir = requestgetServletContext()getRealPath("/") ;
拼接文件夹
String saveDir = dir + "images";
servlet类
package orgwhatisjavaservlet;
import javaioFile;
import javaioIOException;
import javautilList;
import javaxservletServletContext;
import javaxservletServletException;
import javaxservlet>
改为:File dateFile2 = new File(basePath + datePath + "/" + model);的时候不好使应该是你的返回值没有加 文件分隔符的原因。
你最后成功是因为你加了 datePath+="/";
让返回和新建文件路径都一致了。
另外不要用“/” 最好使用:Fileseparator;
还有renameTo只能在windows下使用,limux不行,而且即使是在windonws下,如果file systems不一样也会失败的,建议copy文件自己重写或者使用common-io的工具类。
用struts也可以实现 多文件上传
下面是我写的代码,
参数中有要保存的目录
作为参考!
/文件目录/
public static String [] fileArray={
"logopng",
"indexswf",
"OEMInfotxt",
"faviconico"};
/
@author Caoshun
@see 接收并保存文件
/
public static void receiveAndSaveAllFileByPath(ActionForm form,String rootPath1,String rootPath2){
String fileName="";
//获取表单中的文件资源
Hashtable<Object, Object> files = formgetMultipartRequestHandler()getFileElements();
//遍历文件,并且循环保存
//当前处理文件序号
int file_num=1;
for (Enumeration<Object> e = fileskeys(); ehasMoreElements();) {
/根据处理的当前文件下标,确定文件名/
fileName=fileArray[file_num-1];
FormFile file = (FormFile) filesget((String) enextElement());
if (file != null && filegetFileSize() > 0) {
try {
//使用formfilegetInputStream()来获取一个文件的输入流进行保存。
//文件名
//String fileName = filegetFileName();
//Systemoutprintln("debug in AddEnterpriceActionjava on line 152 fileName is : "+fileName);
//文件大小
//int fileSize = filegetFileSize();
//文件流
InputStream is = filegetInputStream();
//将输入流保存到文件
//String rootPath = thisservletgetServletContext()getRealPath("files");
//往cn中写入
File rf = new File(rootPath1);
FileOutputStream fos = null;
fos = new FileOutputStream(new File(rf, fileName));
byte[] b = new byte[10240];
int real = 0;
real = isread(b);
while (real > 0) {
foswrite(b, 0, real);
real = isread(b);
}
//往en中写入
File rf2 = new File(rootPath2);
InputStream is2 = filegetInputStream();
FileOutputStream fos2 = null;
fos2 = new FileOutputStream(new File(rf2, fileName));
byte[] b2 = new byte[10240];
int real2 = 0;
real2 = is2read(b2);
while (real2 > 0) {
fos2write(b2, 0, real2);
real2 = is2read(b2);
}
//关闭文件流
fosclose();
isclose();
fos2close();
is2close();
} catch (RuntimeException e1) {
e1printStackTrace();
} catch (Exception ee) {
eeprintStackTrace();
}
filedestroy();
}
file_num++;
}
}
以上就是关于java web开发,上传图片并读取全部的内容,包括:java web开发,上传图片并读取、java中,上传视频时,视频信息已经写到数据库了,但是指定位置却没有保存视频怎么办、java用相对路径将图片上传到WebContent下的images文件夹里等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!
欢迎分享,转载请注明来源:内存溢出
微信扫一扫
支付宝扫一扫
评论列表(0条)