怎么用java程序实现上传文件到指定的URL地址
答案:2 悬赏:50 手机版
解决时间 2021-02-23 09:33
- 提问者网友:雨不眠的下
- 2021-02-23 04:44
怎么用java程序实现上传文件到指定的URL地址
最佳答案
- 五星知识达人网友:舊物识亽
- 2021-02-23 05:43
//保存图片
private void saveImg(HttpServletRequest request,FormFile imgFile,FileForm fileForm){
if (imgFile != null && imgFile.getFileSize() > 0) {
String fileName = imgFile.getFileName();
String sqlPath = "img/" + fileName;
//图片所在路径
String savePath = request.getSession().getServletContext().getRealPath("/")+ "img\\" + fileName;
System.out.println(fileName);
System.out.println(sqlPath);
System.out.println(savePath);
HttpSession session=request.getSession();
session.setAttribute("savePath", savePath);
session.setMaxInactiveInterval(60*60);
//String savePath1=(String)session.getAttribute("savePath");
// 数据库
fileForm.getFile().setFileEmpPhoto(sqlPath);
// 文件
try {
InputStream input = imgFile.getInputStream();
FileOutputStream output = new FileOutputStream(savePath);
byte[] b = new byte[1024];
while (input.read(b) != -1) {
output.write(b);
b = new byte[1024];
}
output.close();
input.close();
} catch (FileNotFoundException e) {
// TODO Auto-generated catch block
e.printStackTrace();
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
}
private void saveImg(HttpServletRequest request,FormFile imgFile,FileForm fileForm){
if (imgFile != null && imgFile.getFileSize() > 0) {
String fileName = imgFile.getFileName();
String sqlPath = "img/" + fileName;
//图片所在路径
String savePath = request.getSession().getServletContext().getRealPath("/")+ "img\\" + fileName;
System.out.println(fileName);
System.out.println(sqlPath);
System.out.println(savePath);
HttpSession session=request.getSession();
session.setAttribute("savePath", savePath);
session.setMaxInactiveInterval(60*60);
//String savePath1=(String)session.getAttribute("savePath");
// 数据库
fileForm.getFile().setFileEmpPhoto(sqlPath);
// 文件
try {
InputStream input = imgFile.getInputStream();
FileOutputStream output = new FileOutputStream(savePath);
byte[] b = new byte[1024];
while (input.read(b) != -1) {
output.write(b);
b = new byte[1024];
}
output.close();
input.close();
} catch (FileNotFoundException e) {
// TODO Auto-generated catch block
e.printStackTrace();
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
}
全部回答
- 1楼网友:风格不统一
- 2021-02-23 06:27
代码如下:
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);
}
}
}
}
我要举报
如以上回答内容为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
点此我要举报以上问答信息
大家都在看
推荐资讯