action代码
FormFile file = form.getPic();//取得上传的文件
String contentType = file.getContentType();
String size = (file.getFileSize() + " bytes");//文件大小
String fileName= file.getFileName();//文件名
String fileExt = fileName.substring(fileName.lastIndexOf(".")+1);
//随即生成文件名
String createTime = String.valueOf(new Date().getTime());
String picUrl="";
try {
InputStream stream = file.getInputStream();//把文件读入
String filePath = request.getRealPath("/")+"/blog/upload/";//取当前系统路径
ByteArrayOutputStream baos = new ByteArrayOutputStream();
//判断改文件是否存在
//System.out.println("filePath="+filePath);
File f = new File(filePath);
if(!f.exists())
{
f.mkdir();
}
File f2 = new File(filePath + userInfo.getUserID());
if(!f2.exists()){
f2.mkdir();
}
OutputStream bos = new FileOutputStream(filePath + userInfo.getUserID() + "/" + createTime + "." + fileExt);
//建立一个上传文件的输出流,将上传文件存入web应用的根目录。
//System.out.println(filePath + userInfo.getUserID() + "/" + createTime + "." + fileExt);
picUrl = "upload/" + userInfo.getUserID() + "/" + createTime + "." + fileExt;
int bytesRead = 0;
byte[] buffer = new byte[8192];
while ( (bytesRead = stream.read(buffer, 0, 8192)) != -1) {
bos.write(buffer, 0, bytesRead);//将文件写入服务器
}
bos.close();
stream.close();
}catch(Exception e){
System.err.print(e);
}