我的目標是管理最大上傳文件異常,並顯示客戶端友好的消息,但我不知道哪裏是最好的地方來控制這一點。這是我的控制器方法:處理Laravel 4上傳大文件異常
public function upload_file()
{
if (!Input::hasFile('file'))
return;
$utils = App::make('utils');
$file = Input::file('file');
$name = Input::get('name');
$size = $file->getSize();
if ($size > FileModel::$max_file_size)
return json_encode(array('success'=>false, 'message'=>sprintf('The file size should be lower than %smb.',FileModel::$max_file_size/1000000)));
$original_file_name = $file->getClientOriginalName();
$destination_directory = "";
$final_file_name = $utils->copy_file_to_location($file);
return json_encode(array('success'=>true, 'file'=>$original_file_name));
}
這是utils的copy_file_to_location方法:
public function copy_file_to_location($file, $destination_directory = "")
{
if (!isset($file))
return;
$file_name = time()."_".$file->getClientOriginalName();
$file->move(app_path().'/storage/files/'.$destination_directory, $file_name);
return $file_name;
}
我不knwo哪裏處理上載有擦菜板大小不是文件時所引發的異常服務器最大上傳文件大小變量。我應該在哪裏以及如何處理這些信息以顯示用戶友好的消息,並且不要鎖定用戶界面。順便說一句,我在客戶端使用ExtJs 4。謝謝。
編輯
我發現了一個相關的question,幫助了很多(這是同樣的問題),但我需要知道在哪裏,裏面Laravel,我應該檢查這一點。