java项目用什么上传文件?用java怎么上传图片到项目指定的文件夹
今天给各位分享java项目用什么上传文件的知识,其中也会对用java怎么上传图片到项目指定的文件夹进行解释,如果能碰巧解决你现在面临的问题,别忘了关注本站,现在开始吧!
在Java项目中上传图片时如何使上传的图片自动保存到指定路径
用struts也可以实现多文件上传
下面是我写的代码,
参数中有要保存的目录
作为参考!
/*文件目录*/
public static String [] fileArray={
"logo.png",
"index.swf",
"OEMInfo.txt",
"favicon.ico"};
/**
*@author Caoshun
*@see接收并保存文件
**/
public static void receiveAndSaveAllFileByPath(ActionForm form,String rootPath1,String rootPath2){
String fileName="";
//获取表单中的文件资源
Hashtable<Object, Object> files= form.getMultipartRequestHandler().getFileElements();
//遍历文件,并且循环保存
//当前处理文件序号
int file_num=1;
for(Enumeration<Object> e= files.keys(); e.hasMoreElements();){
/*根据处理的当前文件下标,确定文件名*/
fileName=fileArray[file_num-1];
FormFile file=(FormFile) files.get((String) e.nextElement());
if(file!= null&& file.getFileSize()> 0){
try{
//使用formfile.getInputStream()来获取一个文件的输入流进行保存。
//文件名
//String fileName= file.getFileName();
//System.out.println("debug in AddEnterpriceAction.java on line 152 fileName is:"+fileName);
//文件大小
//int fileSize= file.getFileSize();
//文件流
InputStream is= file.getInputStream();
//将输入流保存到文件
//String rootPath= this.servlet.getServletContext().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= is.read(b);
while(real> 0){
fos.write(b, 0, real);
real= is.read(b);
}
//往en中写入
File rf2= new File(rootPath2);
InputStream is2= file.getInputStream();
FileOutputStream fos2= null;
fos2= new FileOutputStream(new File(rf2, fileName));
byte[] b2= new byte[10240];
int real2= 0;
real2= is2.read(b2);
while(real2> 0){
fos2.write(b2, 0, real2);
real2= is2.read(b2);
}
//关闭文件流
fos.close();
is.close();
fos2.close();
is2.close();
} catch(RuntimeException e1){
e1.printStackTrace();
} catch(Exception ee){
ee.printStackTrace();
}
file.destroy();
}
file_num++;
}
}
用java怎么上传图片到项目指定的文件夹
你的意思是拷贝吗,还是上传到服务器什么的
import java.io.*;
/**
*复制文件夹或文件夹
*/
public class CopyDirectory{
//源文件夹
static String url1="f:/photos";
//目标文件夹
static String url2="d:/tempPhotos";
public static void main(String args[]) throws IOException{
//创建目标文件夹
(new File(url2)).mkdirs();
//获取源文件夹当前下的文件或目录
File[] file=(new File(url1)).listFiles();
for(int i= 0; i< file.length; i++){
if(file[i].isFile()){
//复制文件
copyFile(file[i],new File(url2+file[i].getName()));
}
if(file[i].isDirectory()){
//复制目录
String sourceDir=url1+File.separator+file[i].getName();
String targetDir=url2+File.separator+file[i].getName();
copyDirectiory(sourceDir, targetDir);
}
}
}
//复制文件
public static void copyFile(File sourceFile,File targetFile)
throws IOException{
//新建文件输入流并对它进行缓冲
FileInputStream input= new FileInputStream(sourceFile);
BufferedInputStream inBuff=new BufferedInputStream(input);
//新建文件输出流并对它进行缓冲
FileOutputStream output= new FileOutputStream(targetFile);
BufferedOutputStream outBuff=new BufferedOutputStream(output);
//缓冲数组
byte[] b= new byte[1024* 5];
int len;
while((len=inBuff.read(b))!=-1){
outBuff.write(b, 0, len);
}
//刷新此缓冲的输出流
outBuff.flush();
//关闭流
inBuff.close();
outBuff.close();
output.close();
input.close();
}
//复制文件夹
public static void copyDirectiory(String sourceDir, String targetDir)
throws IOException{
//新建目标目录
(new File(targetDir)).mkdirs();
//获取源文件夹当前下的文件或目录
File[] file=(new File(sourceDir)).listFiles();
for(int i= 0; i< file.length; i++){
if(file[i].isFile()){
//源文件
File sourceFile=file[i];
//目标文件
File targetFile=new
File(new File(targetDir).getAbsolutePath()
+File.separator+file[i].getName());
copyFile(sourceFile,targetFile);
}
if(file[i].isDirectory()){
//准备复制的源文件夹
String dir1=sourceDir+"/"+ file[i].getName();
//准备复制的目标文件夹
String dir2=targetDir+"/"+ file[i].getName();
copyDirectiory(dir1, dir2);
}
}
}
}
java web项目java后台获取前台js上传文件的路径
如果通过servelet来读取上传文件路径,则代码如下,我已经在项目中用过了:
DiskFileItemFactorydifif=newDiskFileItemFactory();
difif.setSizeThreshold(32*1024);difif.setRepository(newFile(tmpDir));//
用以上工厂实例化上传组件ServletFileUploadsfu=newServletFileUpload(difif);
sfu.setSizeMax(MAX_SIZE);
ListfileList=sfu.parseRequest(request);
if(fileList==null||fileList.size()==0){thrownewException("
导入文件不存在,请检
查");}else{FileupLoadFile=null;IteratorfileIterator=fileList.iterator();
//得到所有上传的文
件while(fileIterator.hasNext()){FileItemfileItem=(FileItem)fileIterator.next();//
取得上传文件
名if(fileItem.getContentType()==null){}else{
//
此为路
径Stringpath=fileItem.getName();Stringt_ext=path.substring(path.lastIndexOf(".")+1);//
根据系统时间生成上传后保存的文件
名Stringprefix=String.valueOf(System.currentTimeMillis());//
保存最终的文件完整路径,保存在工程根目录下的Upload目录
下Stringu_name=tmpDir+File.separator+prefix+"."+t_ext;//
开始保存文
件upLoadFile=newFile(u_name);fileItem.write(upLoadFile);}}}
java项目用什么上传文件的介绍就聊到这里吧,感谢你花时间阅读本站内容,更多关于用java怎么上传图片到项目指定的文件夹、java项目用什么上传文件的信息别忘了在本站进行查找哦。