当前位置:首页 > CMS教程 > 其它CMS > 列表

在laravel5.2中实现点击用户头像更改头像的方法

发布:smiling 来源: PHP粉丝网  添加日期:2022-01-02 13:43:53 浏览: 评论:0 

今天小编就为大家分享一篇在laravel5.2中实现点击用户头像更改头像的方法,具有很好的参考价值,希望对大家有所帮助,一起跟随小编过来看看吧。

视图层

!!!自己下载jquery文件和ajaxfileUpload的插件

  1. <!DOCTYPE html> 
  2. <html> 
  3. <head lang="en"
  4.   <meta charset="UTF-8"
  5.   <title></title> 
  6.   <style> 
  7.   </style> 
  8. </head> 
  9. <script type="text/javascript"
  10.   //下面用于图片上传预览功能 
  11.   function setImagePreview(avalue) { 
  12.  
  13.  
  14.  
  15.     var docObj=document.getElementById("doc"); 
  16.  
  17.     var imgObjPreview=document.getElementById("preview"); 
  18.     if(docObj.files &&docObj.files[0]) 
  19.     { 
  20. //火狐下,直接设img属性 
  21.       imgObjPreview.style.display = 'block'
  22. //imgObjPreview.src = docObj.files[0].getAsDataURL(); 
  23.  
  24. //火狐7以上版本不能用上面的getAsDataURL()方式获取,需要一下方式 
  25.       imgObjPreview.src = window.URL.createObjectURL(docObj.files[0]); 
  26.     } 
  27.     else 
  28.     { 
  29. //IE下,使用滤镜 
  30.       docObj.select(); 
  31.       var imgSrc = document.selection.createRange().text; 
  32.       var localImagId = document.getElementById("localImag"); 
  33. //必须设置初始大小 
  34.       localImagId.style.width = "150px"
  35.       localImagId.style.height = "180px"
  36. //图片异常的捕捉,防止用户修改后缀来伪造图片 
  37.       try
  38.         localImagId.style.filter="progid:DXImageTransform.Microsoft.AlphaImageLoader(sizingMethod=scale)"
  39.         localImagId.filters.item("DXImageTransform.Microsoft.AlphaImageLoader").src = imgSrc; 
  40.  
  41.       } 
  42.       catch(e) 
  43.       { 
  44.         alert("您上传的图片格式不正确,请重新选择!"); 
  45.         return false
  46.       } 
  47.       imgObjPreview.style.display = 'none'
  48.       document.selection.empty(); 
  49.     } 
  50.     ajaxFileUpload(); //上传图片 
  51.     return true
  52.  
  53.   } 
  54.  
  55. </script> 
  56. <body> 
  57. <center> 
  58.   <label> 
  59.     @foreach ($arr as $key=>$val) 
  60.       {{-- <img src="{{$val->n_img}}" alt="" height="100" width="100" class="qq"
  61.       <input type="file" id="file1" style="VISIBILITY: hidden" >--}} 
  62.       <img id="preview" width="100" height="100" src="{{$val->n_img}}"
  63.       <input type="file" name="touxiang" id="doc" style="display:none" οnchange="javascript:setImagePreview();"
  64.     @endforeach 
  65.   </label> 
  66. </center> 
  67. </body> 
  68. </html> 
  69. <script src="./js.js"></script> 
  70. <script src="./ajaxfileupload.js"></script> 
  71.  
  72. <script type="text/javascript"
  73.  
  74.  
  75.  
  76.   function ajaxFileUpload() { 
  77.  
  78.  
  79.     $.ajaxFileUpload 
  80.     ( 
  81.         { 
  82.           url: "{{url('up_img')}}"//用于文件上传的服务器端请求地址 
  83.           secureuri: false//是否需要安全协议,一般设置为false 
  84.           fileElementId: 'doc' 
  85.         } 
  86.     ); 
  87.     return false
  88.   } 
  89. </script> 

控制器层

  1. <?php 
  2.  
  3. namespace App\Http\Controllers; 
  4.  
  5. use Illuminate\Http\Request; 
  6.  
  7. use App\Http\Requests; 
  8.  
  9. use DB; 
  10. use Illuminate\Support\Facades\Input; 
  11. class ImgController extends Controller 
  12.   public function Index(){ 
  13.     $arr= DB::select("SELECT * FROM r_nav limit 1"); 
  14.     return view('index',['arr'=>$arr]); 
  15.   } 
  16.   //修改图片 
  17.   public function up_img(Request $Request){ 
  18.     $n_file = Input::file('touxiang'); 
  19.     if($n_file->isValid()){ 
  20.       //获取文件名称 
  21.       $clientName = $n_file -> getClientOriginalName(); 
  22.       $realPath = $n_file -> getRealPath(); 
  23.       //获取图片格式 
  24.       $entension = $n_file -> getClientOriginalExtension(); 
  25.       //图片保存路径 
  26.       $mimeTye = $n_file -> getMimeType(); 
  27.       $path = $n_file -> move('IMG'); 
  28.     } 
  29.     $ress = DB::table('r_nav')->where('n_id',11)->update(['n_img'=>$path]); 
  30.   } 
  31. }

Tags: laravel5 2点击更改头像

分享到: