求大神写个了 非常感谢
src中如何写上传图片保存到oracle 数据库中
求大神写个了 非常感谢
src中如何写上传图片保存到oracle 数据库中
我记得spring框架有文件上传功能。通常是文件存放服务器中,其文件位置、名字等信息存放数据库。
在界面上创建标签
/**
* 文件上传公共方法 单个附件
*
* @param request
* @param uploadUrl
* 上传文件保存物理路径
* @param saveFileName
* 保存文件的名称
* @param isDateFolder
* boolean是否按照年月分目录
* @return
*/
public static String uploadFile(HttpServletRequest request, String uploadUrl, String saveFileName, boolean isDateFolder) {
CommonsMultipartResolver multipartResolver = new CommonsMultipartResolver(request.getSession().getServletContext());
String returnStrFileUrl = "";
if (multipartResolver.isMultipart(request)) {
MultipartHttpServletRequest multiRequest = (MultipartHttpServletRequest) request;// 将request变成多部分request
Iterator iter = multiRequest.getFileNames();// 获取multiRequest
// 中所有的文件名
while (iter.hasNext()) {
MultipartFile file = multiRequest.getFile(iter.next().toString());
if (file != null && file.getSize() > 0) {
String path = uploadUrl;
if (isDateFolder) {
path = path + DateUtil.formatbuild("yyyyMM").format(DateUtil.getNowDate()) + "/";
}
String saveFileNames = saveFileName + file.getOriginalFilename().substring(file.getOriginalFilename().lastIndexOf("."));
File uploadDir = new File(path);
if (!uploadDir.isDirectory()) {
uploadDir.mkdirs();// 创建文件夹
}
String url = path + saveFileNames;
try {
file.transferTo(new File(url));
} catch (IllegalStateException e) {
// TODO Auto-generated catch block
logger.info("附件上传出错" + DateUtil.getNowTimestamp());
e.printStackTrace();
} catch (IOException e) {
// TODO Auto-generated catch block
logger.info("附件上传出错" + DateUtil.getNowTimestamp());
e.printStackTrace();
}
if (isDateFolder) {
returnStrFileUrl = DateUtil.formatbuild("yyyyMM").format(DateUtil.getNowDate()) + "/" + saveFileNames;
} else {
returnStrFileUrl = saveFileNames;
}
}
}
}
return returnStrFileUrl;
}
来实现上传功能
基本上就是说spring在提交的时候会主动将文件亿流的形式上传到服务器,service处理流就可以了。