1.实现代码
/*fileUrl:网络图片的路径
saveImagePath:要保存的地址*/
public static String uploadQianURL(String fileUrl,String saveImagePath) {
//获取文件名,文件名实际上在URL中可以找到
String fileName = fileUrl.substring(originPath.lastIndexOf("/"),originPath.lastIndexOf(".png"))+".png";
//这里服务器上要将此图保存的路径
String savePath = getRequest().getRealPath(saveImagePath);
try {
URL url = new URL(fileUrl);/*将网络资源地址传给,即赋值给url*/
/*此为联系获得网络资源的固定格式用法,以便后面的in变量获得url截取网络资源的输入流*/
HttpURLConnection connection = (HttpURLConnection)url.openConnection();
DataInputStream in = new DataInputStream(connection.getInputStream());
/*此处也可用BufferedInputStream与BufferedOutputStream*/
DataOutputStream out = new DataOutputStream(new FileOutputStream(savePath+fileName));
/*将参数savePath,即将截取的图片的存储在本地地址赋值给out输出流所指定的地址*/
byte[] buffer = new byte[4096];
int count = 0;
/*将输入流以字节的形式读取并写入buffer中*/
while ((count = in.read(buffer)) > 0) {
out.write(buffer, 0, count);
}
out.close();/*后面三行为关闭输入输出流以及网络资源的固定格式*/
in.close();
connection.disconnect();
//返回内容是保存后的完整的URL
return PATH+saveImagePath+fileName;/*网络资源截取并存储本地成功返回true*/
} catch (Exception e) {
System.out.println(e + fileUrl + savePath);
return null;
}
}
publis static void main(String[] args){
new Theed(new new Runnable(){
@Override
public void run() {
//下载图片操作比较耗时,所以最好开一个单独的线程
uploadQianURL();
}
}).start();;
}
2.删除指定目录下的所有图片
public static void deleteImages(String filePath){
try {
boolean flag = false;
File file = new File(filePath);
if(file.exists()){
flag = true;
}
if(flag){
if(file.isDirectory()){
File [] files = file.listFiles();
for (int i = 0; i < files.length; i++)
{
File file1 = files[i];
//System.out.println(file1.getName());
file1.delete(); //删除file1所指定的图片
}
}
}
}catch (Exception e){
e.printStackTrace();
logger.info("删除图片失败!");
}
}