• java实现上传图片


    1.将图片上传到tomcat下

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

     1 @RequestMapping(params="upLoadPicture") 
     2     @ResponseBody
     3     public String addFilemsgPic(MultipartFile file,HttpServletRequest request) throws Exception{
     4         
     5         String path="../Manage_ssm/upLoadPicture";
     6         
     7         //创建文件 
     8         File dir=new File(path);
     9         if(!dir.exists()){
    10             dir.mkdirs();
    11         }
    12         
    13         String username=(String) request.getSession().getAttribute("userName");
    14         //返回原来在客户端的文件系统的文件名
    15         String fileName=file.getOriginalFilename();
    16         //username+后缀名
    17     
    18         String img=username+fileName.substring(fileName.lastIndexOf("."));//zhao.jpg
    19         FileOutputStream imgOut=new FileOutputStream(new File(dir,img));//根据 dir 抽象路径名和 img 路径名字符串创建一个新 File 实例。
    20         
    21         imgOut.write(file.getBytes());//返回一个字节数组文件的内容
    22         imgOut.close();
    23         Map<String, String> map=new HashMap<String, String>();
    24     
    25         String rpath = path+"/"+img;
    26         map.put("rPath",rpath);
    27         JSONObject jsonObject = JSONObject.fromObject(map);//将json字符串转换为json对象
    28         String r=jsonObject.toString();
    29         String s=URLEncoder.encode(r, "utf-8");//加密
    30         return s;
    31     }
     1 @RequestMapping(params="pictureToDb") 
     2     @ResponseBody
     3     public int pictureToDb(String src,HttpServletRequest request){
     4     
     5        
     6         String newSrc = src.replace(" ", "+");
     7         int flag=ConnOrcl.connToTable(newSrc,request);
     8         if(flag==1)
     9             return 1;
    10         else
    11             return 2;
    12     }
     1 public class ConnOrcl {
     2     
     3         private static Connection conn;  
     4         private static Statement stat;  
     5         private static String driver = "oracle.jdbc.driver.OracleDriver";  
     6         private static int SUCCESS=1; 
     7         private static int FILE=2; 
     8         public static int connToTable(String file,HttpServletRequest request)  
     9         {  
    10             try  
    11             {  
    12                 //数据库连接  
    13                 Class.forName(driver);  
    14                 conn = java.sql.DriverManager.getConnection("jdbc:oracle:thin:@127.0.0.1:1521:orcl", "GKBMFZXT", "GKBMFZXT");  
    15                 stat = conn.createStatement();  
    16                
    17                 String username=(String) request.getSession().getAttribute("userName");             
    18                 String sql="update user_table set picture='"+file+"' where user_name='"+username+"'";      
    19                 stat.execute(sql.toString());  
    20                    
    21                 return SUCCESS;
    22             }  
    23             catch(ClassNotFoundException e)  
    24             {  
    25                 e.printStackTrace();  
    26             }  
    27             catch(SQLException e)  
    28             {  
    29                 e.printStackTrace();  
    30             }  
    31             finally  
    32             {  
    33                 if(null != stat)  
    34                 {  
    35                     try   
    36                     {  
    37                         stat.close();  
    38                     }   
    39                     catch (SQLException e)  
    40                     {  
    41                         e.printStackTrace();  
    42                     }  
    43                 }  
    44                 if(null != conn)  
    45                 {  
    46                     try   
    47                     {  
    48                         conn.close();  
    49                     }   
    50                     catch (SQLException e)   
    51                     {  
    52                         e.printStackTrace();  
    53                     }  
    54                 }  
    55             }  
    56             return FILE;
    57         }  
    58 
    59 }
     1 <script src="js/ajaxfileupload.js"></script>
     2 <script type="text/javascript">
     3 function upload(){
     4     
     5     var file="file";
     6     var picElement=document.getElementById(file).value;
     7     
     8     var picFormat=picElement.substring(picElement.lastIndexOf('.')+1,picElement.length);
     9     if(picFormat!="jpg"){
    10         alert("请选择jpg 格式的文件!");
    11         return;
    12     }
    13 
    14     $.ajaxFileUpload({
    15              url:"user.do?upLoadPicture",
    16            secureuri: false,
    17            fileElementId:file,
    18            dataType: 'JSON',
    19            success:function(data){
    20                   data=decodeURIComponent(data);//解码
    21                   var arr=JSON.parse(data);//JSON.parse() 方法解析一个JSON字符串            
    22                 $("#fsrc").val(arr.rPath);         
    23                  $.post(
    24                         "user.do?pictureToDb&src="+$("#fsrc").val(),    
    25                         function(data){
    26                             //data=decodeURIComponent(data);
    27                             //var arr=JSON.parse(data);
    28                             if(data==1){
    29                             alert("上传成功!");
    30                             }else{
    31                             alert("上传失败!");
    32                             }
    33 
    34                         }
    35                     ); 
    36         },
    37         error: function (){
    38                alert("上传失败!当前时间为:"+new Date().toLocaleTimeString());
    39           
    40        }
    41     });
    42 };
    43 
    44 function findFile(){
    45     document.getElementById("file").click();
    46 }
  • 相关阅读:
    Linux 进程间通信(包含一个经典的生产者消费者实例代码)
    Linux多进程编程实例
    web开发中的mysql使用
    Linux 网络编程中的read和write函数正确的使用方式
    Linux 使用tcpdump观察arp通信过程
    Linux 开启echo等服务
    Linux send和recv
    自己动手写http服务器——主程序(三)
    自己动手写http服务器——线程池(一)
    http请求报文格式和响应报文格式
  • 原文地址:https://www.cnblogs.com/xiaotian-222/p/6962351.html
Copyright © 2020-2023  润新知