「java文件上传类型」java实现文件上传的三种方式
本篇文章给大家谈谈java文件上传类型,以及java实现文件上传的三种方式对应的知识点,希望对各位有所帮助,不要忘了收藏本站喔。
本文目录一览:
java中判断上传文件类型
我一般用SmartUpload这个jar文件做上传和下载的模块,它里面有个getContentType()方法可以获取文件的上传类型。这个组件功能挺全的,建议你去看看。
Java web文件上传怎么限制文件类型
前端限制,用 正则匹配文件名后缀 /\.([jJ][pP][gG]){1}$|\.([jJ][pP][eE][gG]){1}$|\.([gG][iI][fF]){1}$|\.([pP][nN][gG]){1}$|\.([bB][mM][pP]){1}$/ 这个是图片正则匹配
服务端获取文件,用正则匹配文件名后缀
MultipartHttpServletRequest mrequest = (MultipartHttpServletRequest) request;
MultipartFile file = mrequest.getFile("file");
if (file != null !file.isEmpty()) {
// 获得文件类型(可以判断如果不是指定类型,禁止上传)
String contentType = file.getContentType();
Java文件上传相关知识及得到后缀名
文件上传功能是最基本的 所以需要真正的掌握
Java代码
=========文件上传功能================
@Property
private UploadedFile file;
@Inject
private ApplicationGlobals globals;
//获得绝对路径
String path = globals getServletContext() getRealPath( /images/person/head );
File copied = new File(path + / + file getFileName());
file write(copied); //写入项目
===========js=============
function fileBtn(){
var file=document getElementById( file ) value;
//var houzui=kzName(file);
//获取文件后缀名并转成小写
var ext=file substring(file lastIndexOf( )) toLowerCase();
if( file value== ){
alert( 请选择上传的图片 );
return false;
}else{
if(ext!= gif ext!= jpg ext!= jpeg ext!= bmp ) {
alert( 此图片类型不支持:[ +ext+ ] );
return false;
}
}
return true;
}
//获取后缀名
function kzName(u)
{
var s = / [^ ]+$/ exec(u);
return (s!=null)?s[ ]:null;
}
=============file tml================
div id= fileDiv
t:form
图片上传
input t:type= upload t:id= file name= file size= /
input type= submit value= 提 交 onclick= return fileBtn(); /
/t:form
! 用来提示信息
divspan id= errormsg t:if t:test= errorCode ${errorMsg}/t:if/span/div
/div
===============file java===相关代码=============
@Property
private UploadedFile file;
@Persist(PersistenceConstants FLASH)
@Property
private String message;
@Inject
private Messages messages;
@Property
@Persist(value= flash )
private int errorCode;
Object onUploadException(FileUploadException ex)
{
message = Upload exception: + ex getMessage();
return this;
}
//用来在页面做提示信息
public String getErrorMsg(){
switch (errorCode) {
case :
return messages get( fileNameMsg );
case :
return messages get( fileSuccess );
default:
break;
}
return ;
lishixinzhi/Article/program/Java/hx/201311/25990
Java文件上传的几种方式
1、通过Servlet类上传
2、通过Struts框架实现上传
ITJOB学到两种方式
java多文件上传
即使再多文件也是通过的单个文件逐次上传的(zip等压缩包实际上是一个文件)。实现思路就是将多个文件循环进行上传,上传方法举例:
/**
* 上传文件
*
* @param fileName
* @param plainFilePath 文件路径路径
* @param filepath
* @return
* @throws Exception
*/
public static String fileUploadByFtp(String plainFilePath, String fileName, String filepath) throws Exception {
FileInputStream fis = null;
ByteArrayOutputStream bos = null;
FTPClient ftpClient = new FTPClient();
String bl = "false";
try {
fis = new FileInputStream(plainFilePath);
bos = new ByteArrayOutputStream(fis.available());
byte[] buffer = new byte[1024];
int count = 0;
while ((count = fis.read(buffer)) != -1) {
bos.write(buffer, 0, count);
}
bos.flush();
Log.info("加密上传文件开始");
Log.info("连接远程上传服务器"+CCFCCBUtil.CCFCCBHOSTNAME+":"+22);
ftpClient.connect(CCFCCBUtil.CCFCCBHOSTNAME, 22);
ftpClient.login(CCFCCBUtil.CCFCCBLOGINNAME, CCFCCBUtil.CCFCCBLOGINPASSWORD);
FTPFile[] fs;
fs = ftpClient.listFiles();
for (FTPFile ff : fs) {
if (ff.getName().equals(filepath)) {
bl="true";
ftpClient.changeWorkingDirectory("/"+filepath+"");
}
}
Log.info("检查文件路径是否存在:/"+filepath);
if("false".equals(bl)){
ViewUtil.dataSEErrorPerformedCommon( "查询文件路径不存在:"+"/"+filepath);
return bl;
}
ftpClient.setBufferSize(1024);
ftpClient.setControlEncoding("GBK");
// 设置文件类型(二进制)
ftpClient.setFileType(FTPClient.BINARY_FILE_TYPE);
ftpClient.storeFile(fileName, fis);
Log.info("上传文件成功:"+fileName+"。文件保存路径:"+"/"+filepath+"/");
return bl;
} catch (Exception e) {
throw e;
} finally {
if (fis != null) {
try {
fis.close();
} catch (Exception e) {
Log.info(e.getLocalizedMessage(), e);
}
}
if (bos != null) {
try {
bos.close();
} catch (Exception e) {
Log.info(e.getLocalizedMessage(), e);
}
}
}
}
备注:只需要修改上传的服务器地址、用户名、密码即可进行服务器访问上传。根据实际需要修改即可。
java文件上传类型的介绍就聊到这里吧,感谢你花时间阅读本站内容,更多关于java实现文件上传的三种方式、java文件上传类型的信息别忘了在本站进行查找喔。