首页编程java编程java项目用什么上传文件?用java怎么上传图片到项目指定的文件夹

java项目用什么上传文件?用java怎么上传图片到项目指定的文件夹

编程之家2023-10-1286次浏览

今天给各位分享java项目用什么上传文件的知识,其中也会对用java怎么上传图片到项目指定的文件夹进行解释,如果能碰巧解决你现在面临的问题,别忘了关注本站,现在开始吧!

java项目用什么上传文件?用java怎么上传图片到项目指定的文件夹

在Java项目中上传图片时如何使上传的图片自动保存到指定路径

用struts也可以实现多文件上传

下面是我写的代码,

参数中有要保存的目录

java项目用什么上传文件?用java怎么上传图片到项目指定的文件夹

作为参考!

/*文件目录*/

public static String [] fileArray={

java项目用什么上传文件?用java怎么上传图片到项目指定的文件夹

"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项目用什么上传文件的信息别忘了在本站进行查找哦。

java应聘需要什么能力 java开发应该具备什么能力javaee有什么技术 javaee要学哪些内容