前端:
<!-- 引入CSS、JS --><link rel="stylesheet" type="text/css" href="{{asset('org/uploadify/uploadify.css')}}"><script type="text/javascript" src="{{asset('admin/js/jquery.js')}}"></script><script src="{{asset('org/uploadify/jquery.uploadify.min.js')}}" type="text/javascript"></script><!-- 上傳按鈕 --><input id="file_upload" name="file_upload" type="file"><br><img id="picshow" src=""> <!-- 預設隱藏 #pic{display: none;} --><!-- 執行個體化 --><script> $('#file_upload').uploadify({ swf : "{{asset('org/uploadify/uploadify.swf')}}", // 引入Uploadify 的核心Flash檔案 uploader : "{{url'admin/upload')}}", // PHP指令碼地址 width: 120, // 上傳按鈕寬度 height: 30, // 上傳按鈕高度 buttonImage: "{{asset('org/uploadify/browse-btn.png')}}", // 上傳按鈕背景圖片地址 fileTypeDesc: 'Image File', // 選擇檔案對話方塊中圖片類型提示文字(Windows系統) fileTypeExts: '*.jpg;*.jpeg;*.png;*.gif', // 選擇檔案對話方塊中允許選擇的檔案類型(Windows系統) formData : {'_token': '{{csrf_token()}}'}, // Laravel表單提交必需參數_token,防止CSRF onUploadSuccess : function(file, data, response) { // 上傳成功回呼函數 $('#picshow').attr('src', data).show(); $('#file_upload).val(data); }, onUploadError: function(file, errorCode, errorMsg, errorString) { // 上傳失敗回呼函數 $('#picshow').attr('src', '').hide(); $('#file_upload).val(''); alert('上傳失敗,請重試!'); } });</script>
後端:
/** * 圖片上傳 * @return [type] [description] */public function upload(){ $file = Input::file('Filedata'); // 不同環境可能擷取方式有點不同,可以下列印觀察一下 dd(Input()); if($file->isValid()) { // 上傳目錄。 public目錄下 uploads/thumb 檔案夾 $dir = 'uploads/thumb/'; // 檔案名稱。格式:時間戳記 + 6位隨機數 + 尾碼名 $filename = time() . mt_rand(100000, 999999) . '.' . $file ->getClientOriginalExtension(); $file->move($dir, $filename); $path = $dir . $filename; return url($path); }}// $realPath = $file->getRealPath(); // 緩衝在 tmp 檔案夾的檔案絕對路徑// $tmpName = $file->getFileName(); // 緩衝在 tmp 檔案夾的檔案名稱// $clientName = $file->getClientOriginalName(); // 擷取原檔案名稱// $extension = $file->getClientOriginalExtension(); // 上傳檔案的尾碼