java中怎么获取form表单提交的一个文件的文件地址和文件名(包括文件后缀)

java中怎么获取form表单提交的一个文件的文件地址和文件名(包括文件后缀),第1张

由于 *** 作系统和浏览器为了安全性,浏览器点击上传文件后,浏览器是不知道真实路径的,也就是说浏览器是不知道E:\我的文件夹\文件1xlsx的位置的。

文件的后缀可以在前台通过jquery的方式获取到上传文件的文件名称,然后通过字符串截取就可以了。

        private File myFile; //文件

private String myFileContentType; //类型

private String myFileFileName;    //文件名

//。。。。getXXX() setXXX()方法

//输入流

InputStream is = new FileInputStream(myFile);

//设定文件路径

String photoPath = ServletActionContextgetServletContext()

getRealPath("/user/photo/");

File filePhotoPath = new File(photoPath);

//判断这个路径是否存在,如果不存在创建这个路径

if (!filePhotoPathisDirectory()) {

filePhotoPathmkdir();

}

String extension = FilenameUtilsgetExtension(this

getMyFileFileName());   //后缀名 比如jpg

String filename = UUIDrandomUUID()toString() + "" + extension;

// 目标文件

File tofile = new File(photoPath, filename);

// 输出流

OutputStream os = new FileOutputStream(tofile);

byte[] buffer = new byte[1024];

int length = 0;

while ((length = isread(buffer)) > 0) {

oswrite(buffer, 0, length);

}

// 关闭输入流

isclose();

// 关闭输出流

osclose();

<form action="uploadURL" method="post" enctype="multipart/form-data">

标题:<input type="text" name="tit" /><br/>

内容:<input type="text" name="te" /><br/>

1:<input type="file" name="img1"/><br/>

2:<input type="file" name="img2"/><br/>

<input type="submit" value="提交">

</form>

//创建硬盘文件工厂对象,设置上传的缓存区大小和临时文件

DiskFileItemFactory disk=new DiskFileItemFactory();

//实例化servlet上传的对象,把表单的数据都放在这个对象中

ServletFileUpload up=new ServletFileUpload(disk);

List<FileItem> list=upparseRequest(request);

//由于list中有普通表单和非普通表单 所以给定两个集合

Map<String,String> map=new HashMap<String, String>();

for(int i=0;i<listsize();i++){

FileItem item=listget(i); //获取表单的数据

if(itemisFormField()){//判断该数据属否是普通表单的数据

//获取普通表单的数据

String namename=itemgetFieldName(); //获取表单的名

String formvalue=itemgetString(); //获取输出的值

String value=new String(formvaluegetBytes("ISO-8859-1"),"utf-8"); //给获取的值 设置编码

//把普通表单的数据放入map中

mapput(namename, value);

}else{

//非普通

String filename=itemgetName(); ////获取文件名的名

//获取服务器上upload的地址

String rootpath=getServletContext()getRealPath("upload");

//获取文件的路径

String newpath=rootpath+"\\"+filename;

//写入文件

itemwrite(new File(newpath));

liadd(filename);

}

}

以上就是关于java中怎么获取form表单提交的一个文件的文件地址和文件名(包括文件后缀)全部的内容,包括:java中怎么获取form表单提交的一个文件的文件地址和文件名(包括文件后缀)、java上传图片到服务器指定路径、java request 怎么查上传文件等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!

欢迎分享,转载请注明来源:内存溢出

原文地址:https://54852.com/web/10054505.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2023-05-04
下一篇2023-05-04

发表评论

登录后才能评论

评论列表(0条)

    保存