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

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

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

大家好,今天小编来为大家解答以下的问题,关于java项目用什么上传,用java怎么上传图片到项目指定的文件夹这个很多人还不知道,现在让我们一起来看看吧!

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

java项目客户上传的图片放到哪好

图片上传一般考虑两种办法:1、上传到服务器,数据库中存储服务器上图片的相对路径;2、转换为二进制流存入到数据库中。现在常用的做法都是选择第一种,因为第二种太占数据库空间,而且查找读取效率不高。很多开源的文件上传框架(比如spring中的commons-fileupload)都是采用第一种方式。上传图片到服务器不会影响系统的运行速度,你可以选择将图片的目录建立在非系统盘,存储容量比较大的盘,如F盘等。注意图片名字不要重复,建议用uuid

java项目为什么有的电脑上传文件后端接口响应很慢

后端接口响应慢分以下2种情况:

个别接口响应慢

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

推荐使用SkyWalking。它会展示出每一个与网络有关的耗时,比如:读写数据库、读写Redis、SpringCloud调用、Dubbo调用等。这样就能立马定位是哪次操作耗时了。

所有接口响应慢

可能是服务器问题,需要排查网络、CPU使用率、内存使用率、磁盘使用率等

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

用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项目中上传图片时如何使上传的图片自动保存到指定路径

用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++;

}

}

OK,本文到此结束,希望对大家有所帮助。

java为什么找不到文件路径 java为什么执行时说系统找不到指定的路径什么是java委托交易 Java中什么是委托事件处理模型