首 页
关于方维
网站案例
网站建设
小程序开发
解决方案
建站资讯
联系方维
400-800-9385
java网站建设之下载远程文件到本地服务器及安全性考虑
发表日期:2024-12-31 15:57:20 作者来源:方维网络 浏览:434 标签:
java网站建设
当前位置:
首页
-
建站资讯
-
网站建设
有时候在java网站开发过程中,经常要用到下载远程文件到本地,如下载OSS的文件或者图片到本地服务器,然后再用邮件发送。实现代码大概如下:
package com.fwwl.fwqy.common.utils;
import java.io.*;
import java.net.HttpURLConnection;
import java.net.URL;
import java.nio.channels.Channels;
import java.nio.channels.ReadableByteChannel;
public class downloadUtils {
/**
* 下载远程文件并保存到本地
*
* @param remoteFilePath-远程文件路径
* @param localFilePath-本地文件路径(带文件名)
*/
public static void downloadFile1(String remoteFilePath, String localFilePath) {
URL urlfile = null;
HttpURLConnection httpUrl = null;
BufferedInputStream bis = null;
BufferedOutputStream bos = null;
File f = new File(localFilePath);
try {
urlfile = new URL(remoteFilePath);
httpUrl = (HttpURLConnection) urlfile.openConnection();
httpUrl.connect();
bis = new BufferedInputStream(httpUrl.getInputStream());
bos = new BufferedOutputStream(new FileOutputStream(f));
int len = 2048;
byte[] b = new byte[len];
while ((len = bis.read(b)) != -1) {
bos.write(b, 0, len);
}
bos.flush();
bis.close();
httpUrl.disconnect();
} catch (Exception e) {
e.printStackTrace();
} finally {
try {
bis.close();
bos.close();
} catch (IOException e) {
e.printStackTrace();
}
}
}
/**
* 下载远程文件并保存到本地
*
* @param remoteFilePath-远程文件路径
* @param localFilePath-本地文件路径(带文件名)
*/
public static void downloadFile2(String remoteFilePath, String localFilePath) {
URL website = null;
ReadableByteChannel rbc = null;
FileOutputStream fos = null;
try {
website = new URL(remoteFilePath);
rbc = Channels.newChannel(website.openStream());
fos = new FileOutputStream(localFilePath);//本地要存储的文件地址 例如:test.txt
fos.getChannel().transferFrom(rbc, 0, Long.MAX_VALUE);
} catch (Exception e) {
e.printStackTrace();
}finally{
if(fos!=null){
try {
fos.close();
} catch (IOException e) {
e.printStackTrace();
}
}
if(rbc!=null){
try {
rbc.close();
} catch (IOException e) {
e.printStackTrace();
}
}
}
}
}
但这里会有个安全问题,比如别人把远程的文件改为木马,那么下载到服务器就容易对网站进行破坏,所以在下载的过程中,最好使用内部存储的文件,路径不要被篡改,然后对文件的类型进行判断,同时不要给文件执行权限。
如没特殊注明,文章均为方维网络原创,转载请注明来自https://www.szfangwei.cn/news/8575.html
上一篇:
用PHP程序发送邮件带上附件的方法
下一篇:
java网站建设之发邮件有附件发送文件
相关网站设计案例
长丰影像Saramonic
长丰影像BOYA
明鉴检测
相关资讯
java网站开发使用jar文件部署网站更难...
日期:2025-04-29 浏览:42
java制作的网站从部署角度为啥比PHP网站安...
日期:2025-04-29 浏览:40
java springboot2.7程序生成PDF文件的方法...
日期:2025-03-18 浏览:452
常见问题
企业网站建设常见问题整理合集【置顶】
在深圳建设一个公司网站多少钱
开发网站需要多久跟这九个因素有关
最新文章
小微企业网站制作新风尚——如何低成本打...
浏览量:564
建站公司:上海网站建设公司如何引...
浏览量:461
方维网络:搭建一个独立外贸网站,你的...
浏览量:549
探秘外贸网站设计新风向:如何打造国际...
浏览量:770
探秘苏州外贸新势力:如何通过卓越网站建设...
浏览量:474
如何做好宠物用品公司网站建设
浏览量:575
400-800-9385
97798819
回到顶部
0
请您留言
非常抱歉,客服不在线,麻烦留下您的联系电话或者微信,我们看到后会马上联系您!
提交
感谢留言
我们会尽快与您联系
关闭