一、UUID给图片起名字
import org.springframework.stereotype.Component;
import java.util.UUID;
@Component
public class UUIDUtil {
/*生成在同一时间不重复的字符串,保证上传的文件不会覆盖新的文件*/
public static String getUUID(){
UUID uuid = UUID.randomUUID();
System.err.println("随机的UUID为:"+uuid);
return uuid.toString();
}
}
二、创建工具类
import org.springframework.stereotype.Component;
import java.io.*;
@Component
public class ImgUtil {
/*读取图片*/
public static byte[] readImg(String imgURL) throws IOException {
File f = new File(imgURL);
if (!f.exists()) {
//文件不存在
throw new FileNotFoundException("file not exists");
}
//字节数组输出流
ByteArrayOutputStream bos = new ByteArrayOutputStream((int) f.length());
//缓冲输入流
BufferedInputStream in = null;
try {
//FileInputStream:文件输入流
in = new BufferedInputStream(new FileInputStream(f));
//每次读取最大字节数
int buf_size = 1024;
int len = 0;
//声明一个字节数组
byte[] buffer = new byte[buf_size];
/*read读,buffer:读取到的字节存放到哪里,off:从地0位开始,buf_size:读取的字节数,读上来的数据保存在缓冲区buf中,
同时文件的当前读写位置向后移*/
while (-1 != (len = in.read(buffer, 0, buf_size))) {
//
bos.write(buffer, 0, len);
}
return bos.toByteArray();
} catch (IOException e) {
e.printStackTrace();
throw e;
} finally {
try {
in.close();
} catch (IOException e) {
e.printStackTrace();
}
bos.close();
}
}
/*保存图片:图片保存到D:\YYH_image\option*/
public static void saveImg(String imgName , byte [] data)throws Exception{
if(data != null){
String filepath ="D:\\YYH_image\\option\\" + imgName +".jpg";
File file = new File(filepath);
if(file.exists()){
file.delete();
}
FileOutputStream fos = new FileOutputStream(file);
fos.write(data,0,data.length);
fos.flush();
fos.close();
}
}
}
– 这样就把文件另存啦