
由于 *** 作系统和浏览器为了安全性,浏览器点击上传文件后,浏览器是不知道真实路径的,也就是说浏览器是不知道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 怎么查上传文件等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!
欢迎分享,转载请注明来源:内存溢出
微信扫一扫
支付宝扫一扫
评论列表(0条)