項目中需要上傳菜單的圖示,最近大家都用TP5,我也與時俱進了一把,開始自己想太多了,在傳回值那裡栽了跟頭,腦袋裡一直都是json,json,這裡的傳回值直接return就好了,不要去搞成json資料,這裡還是附上代碼,給自己警示作用,說不定哪天又忘記了……
<!--前端,引用的檔案我就不多說了哈該有的js,css一定不要忘記了-->
<div class="row cl">
<label class="form-label col-xs-4 col-sm-3">菜單圖示:</label>
<div class="formControls col-xs-8 col-sm-8">
<img src="__images__/iconImg.jpg" id="m_icon1" width="80px" />
<br /><br />
<input type="file" id="file_upload1" multiple="true">
</div>
</div>
//圖示上傳,js
$('#file_upload1').uploadify({
uploader:"{:url('Image/addImage')}", // 伺服器處理位址
swf: '__hui__/lib/uploadify/uploadify.swf',
buttonText: "上傳圖示", //按鈕文字
height: 30, //按鈕高度
width: 80, //按鈕寬度
fileTypeExts: "*.jpg;*.png;*.jpeg;*.gif;*.bmp", //允許的檔案類型
fileTypeDesc: "請選擇", //檔案說明
fileObjName: "m_icon",
onUploadSuccess: function (file, data, response) { //上傳成功後的響應事件處理
$("#m_icon1").attr("src","__upload__/iconImg/"+data); //預覽圖檔
$("#add-m_icon").val(data); //将上傳後的圖檔指派給表單
}
});
/*
圖檔上傳
*/
public function addImage(){
// 擷取表單上傳檔案
$file = request()->file('m_icon');
if(empty($file))
{
$data = '請選擇上傳檔案!';
return $data;
}
// 移動到架構應用根目錄/public/upload/ 目錄下
$info = $file->move(ROOT_PATH.'public'.DS.'upload/iconImg/');
//擷取檔案
//$info->getFilename(); //檔案名 dc269f3ad05a6e656ccbdec468b970f4.png
//$info->getSaveName(); //檔案名(日期/檔案)20181026/dc269f3ad05a6e656ccbdec468b970f4.png
//$info->getExtension(); //檔案字尾名 png
//$info->getPathname(); //檔案路徑包括磁盤名稱
if($info){
$data = $info->getSaveName(); //檔案路徑
}else{
$data = '檔案上傳失敗啦!';
}
return $data; //直接傳回,不要封住成json
}