1.将图片上传到tomcat下

2.将相对路径存放到数据库中

 @RequestMapping(params="upLoadPicture")
@ResponseBody
public String addFilemsgPic(MultipartFile file,HttpServletRequest request) throws Exception{ String path="../Manage_ssm/upLoadPicture"; //创建文件
File dir=new File(path);
if(!dir.exists()){
dir.mkdirs();
} String username=(String) request.getSession().getAttribute("userName");
//返回原来在客户端的文件系统的文件名
String fileName=file.getOriginalFilename();
//username+后缀名 String img=username+fileName.substring(fileName.lastIndexOf("."));//zhao.jpg
FileOutputStream imgOut=new FileOutputStream(new File(dir,img));//根据 dir 抽象路径名和 img 路径名字符串创建一个新 File 实例。 imgOut.write(file.getBytes());//返回一个字节数组文件的内容
imgOut.close();
Map<String, String> map=new HashMap<String, String>(); String rpath = path+"/"+img;
map.put("rPath",rpath);
JSONObject jsonObject = JSONObject.fromObject(map);//将json字符串转换为json对象
String r=jsonObject.toString();
String s=URLEncoder.encode(r, "utf-8");//加密
return s;
}
 @RequestMapping(params="pictureToDb")
@ResponseBody
public int pictureToDb(String src,HttpServletRequest request){ String newSrc = src.replace(" ", "+");
int flag=ConnOrcl.connToTable(newSrc,request);
if(flag==)
return ;
else
return ;
}
 public class ConnOrcl {

         private static Connection conn;
private static Statement stat;
private static String driver = "oracle.jdbc.driver.OracleDriver";
private static int SUCCESS=;
private static int FILE=;
public static int connToTable(String file,HttpServletRequest request)
{
try
{
//数据库连接
Class.forName(driver);
conn = java.sql.DriverManager.getConnection("jdbc:oracle:thin:@127.0.0.1:1521:orcl", "GKBMFZXT", "GKBMFZXT");
stat = conn.createStatement(); String username=(String) request.getSession().getAttribute("userName");
String sql="update user_table set picture='"+file+"' where user_name='"+username+"'";
stat.execute(sql.toString()); return SUCCESS;
}
catch(ClassNotFoundException e)
{
e.printStackTrace();
}
catch(SQLException e)
{
e.printStackTrace();
}
finally
{
if(null != stat)
{
try
{
stat.close();
}
catch (SQLException e)
{
e.printStackTrace();
}
}
if(null != conn)
{
try
{
conn.close();
}
catch (SQLException e)
{
e.printStackTrace();
}
}
}
return FILE;
} }
 <script src="js/ajaxfileupload.js"></script>
<script type="text/javascript">
function upload(){ var file="file";
var picElement=document.getElementById(file).value; var picFormat=picElement.substring(picElement.lastIndexOf('.')+1,picElement.length);
if(picFormat!="jpg"){
alert("请选择jpg 格式的文件!");
return;
} $.ajaxFileUpload({
url:"user.do?upLoadPicture",
secureuri: false,
fileElementId:file,
dataType: 'JSON',
success:function(data){
data=decodeURIComponent(data);//解码
var arr=JSON.parse(data);//JSON.parse() 方法解析一个JSON字符串
$("#fsrc").val(arr.rPath);
$.post(
"user.do?pictureToDb&src="+$("#fsrc").val(),
function(data){
//data=decodeURIComponent(data);
//var arr=JSON.parse(data);
if(data==1){
alert("上传成功!");
}else{
alert("上传失败!");
} }
);
},
error: function (){
alert("上传失败!当前时间为:"+new Date().toLocaleTimeString()); }
});
}; function findFile(){
document.getElementById("file").click();
}

最新文章

  1. MP3光标移动
  2. SVN服务器详细权限控制
  3. 一致性Hash算法在Redis分布式中的使用
  4. Mybatis if判断的坑
  5. RobotFramework 安装配置(一)
  6. KMP,模式匹配算法
  7. 高效使用STL
  8. node.js模块之http模块
  9. Entity Framework 的小实例:在项目中添加一个实体类,并做插入操作
  10. 限制div高度当内容多了溢出时显示滚动条
  11. FPGA知识大梳理(三)verilogHDL语法入门(2)知识汇总
  12. ubuntu:通过封装验证码类库一步步安装php的gd扩展
  13. Java 领域从传统行业向互联网转型你必须知道的事儿
  14. ML_Clustering
  15. Xml一(基本语法和约束)、
  16. Zabbix笔记
  17. Hadoop 本地模式安装
  18. jsp传给java属性,java生成json串,方便以后取出来
  19. codeforces 521a//DNA Alignment// Codeforces Round #295(Div. 1)
  20. How to Reuse Old PCs for Solr Search Platform?

热门文章

  1. linux下为firfox安装flash player
  2. jQuery 文档操作
  3. [luogu] P3210 [HNOI2010]取石头游戏(贪心)
  4. 原生javaScript完成Ajax请求
  5. SQL SERVER-主键的建立和删除
  6. nyoj 1189 yougth和他的朋友们 (DP)
  7. [Python + Unit Testing] Write Your First Python Unit Test with pytest
  8. gpg 的使用
  9. xBIM 基础08 WeXplorer 简介
  10. 在 Microsoft Word 文档 中粘贴代码实现语法高亮的方法