顯示“上傳出錯” 但其實已經上傳成功了圖片
頁面配置如下
thinkphp控制器 圖片處理如下:圖片已經上傳成功
public function upload() { //$this->checkLogin();//檢測使用者是否登入,需要另外寫~ $upload = new \Think\Upload();// 執行個體化上傳類 $upload->maxSize = 5 * 1024 * 1024;// 設定附件上傳允許的大小 $upload->autoSub = true; $upload->saveName = array('uniqid', ''); $upload->exts = array('jpg', 'gif', 'png', 'jpeg');// 設定附件上傳類型 $upload->rootPath = 'Uploads/attach/'; // 設定附件上傳根目錄 //$upload->savePath = ''; // 設定附件上傳(子)目錄 $upload->subName = array('date', 'Ymd'); //按年月日組建目錄 // 上傳檔案 $info = $upload->upload(); if ($info) { // 上傳成功 擷取上傳檔案資訊 foreach ($info as &$file) { //拼接出檔案相對路徑 $file['filepath'] = $file['savepath'] . $file['savename']; } //返回json資料被百度Umeditor編輯器 echo json_encode(array( 'url' => $file['filepath'], 'title' => htmlspecialchars($_POST['pictitle'], ENT_QUOTES), 'original' => $file['savename'], 'state' => 'SUCCESS' )); } else { // 上傳失敗 echo json_encode(array('state' => $upload->getError())); } }
回複內容:
顯示“上傳出錯” 但其實已經上傳成功了圖片
頁面配置如下
thinkphp控制器 圖片處理如下:圖片已經上傳成功
public function upload() { //$this->checkLogin();//檢測使用者是否登入,需要另外寫~ $upload = new \Think\Upload();// 執行個體化上傳類 $upload->maxSize = 5 * 1024 * 1024;// 設定附件上傳允許的大小 $upload->autoSub = true; $upload->saveName = array('uniqid', ''); $upload->exts = array('jpg', 'gif', 'png', 'jpeg');// 設定附件上傳類型 $upload->rootPath = 'Uploads/attach/'; // 設定附件上傳根目錄 //$upload->savePath = ''; // 設定附件上傳(子)目錄 $upload->subName = array('date', 'Ymd'); //按年月日組建目錄 // 上傳檔案 $info = $upload->upload(); if ($info) { // 上傳成功 擷取上傳檔案資訊 foreach ($info as &$file) { //拼接出檔案相對路徑 $file['filepath'] = $file['savepath'] . $file['savename']; } //返回json資料被百度Umeditor編輯器 echo json_encode(array( 'url' => $file['filepath'], 'title' => htmlspecialchars($_POST['pictitle'], ENT_QUOTES), 'original' => $file['savename'], 'state' => 'SUCCESS' )); } else { // 上傳失敗 echo json_encode(array('state' => $upload->getError())); } }
分兩步確認問題:
chrome工具裡看下upload最終響應的json是不是success?格式是不是對的?有沒有空格、換行?有沒有utf-8 bom頭?
如果json是對的,回來跟蹤umeditor裡上傳出錯是哪裡提示的,利用IDE或編輯器的搜尋功能快速尋找並定位輸出,然後跟蹤JS判斷條件,排查代碼