laravel 5.4:未在aws服务器上上传的图像文件

时间:2018-01-22 06:46:45

标签: laravel amazon-web-services laravel-5 laravel-5.4

当我在本地上传图片文件夹工作完美,但当我尝试上传亚马逊网络服务器文件上的图像没有上传和返回相同的页面。我的代码有任何问题吗?

这是我的控制器功能,用于保存数据:

 // CountryController
 public function save(Request $request) {
    try {
        $file = $request->file('flag_image');
        $this->validate($request, Country::rules());
        //$request->validate(Country::rules());

        /*Image Upload code*/
        If(Input::hasFile('flag_image')){
            $file = Input::file('flag_image');
            $destinationPath = public_path(). '/images/admin/country/';
            $filename = $file->getClientOriginalName();
            $image = time().$filename;
            $file->move($destinationPath, $image);
            $imgpath = 'images/admin/country/'.$image;
        }
        if($file !="") {
            $request->merge(['flag_image' => $imgpath]);
        }
        /*Image Upload code end*/

        $country = Country::saveOrUpdate($request);
        if($file !="") {
            $country->flag_image = $imgpath;
            $country->save();
        }

        if($country !== false) {
            return redirect()->route('lists-country')->with('success', trans('Country data added successfully.!!'));
        } else {
            return back()->with('error', "Unable to save country data.!!")->withInput();
        }
    } catch (\Exception $ex) {
        return back()->with('error', "Unable to save country data.!!")->withInput();
    }
}

我的模型代码如下:

//country model
namespace App;

use Illuminate\Http\Request;
use Illuminate\Database\Eloquent\Model;
use Illuminate\Support\Facades\DB;
use Illuminate\Support\Facades\Input;

 class Country extends Model
{
/**
 * The attributes that are mass assignable.
 *
 * @var array
 */
protected $fillable = [
    'title',
    'short_name',
    'flag_image',
    'status'
];

const STATUSES = [
    'Active' => 'Active',
    'Inactive' => 'Inactive',
];

const DEFAULT_STATUS = 'Active';
/**
 * Indicates if the model should be timestamped.
 *
 * @var bool
 */
public $timestamps = false;

public static function rules() {
    return [
        'title' => 'required|string|max:255',
        'short_name' => 'required',
        'status' => 'required|string|in:' . implode(",", Country::STATUSES)
    ];
}

 public static function saveOrUpdate(Request $request) {
    try {
        $id = $request->get('id', false);
        $country = false;
        DB::transaction(function () use ($request, &$country, $id) {

            $country = $id ? Country::findOrFail($id) : new Country();
            $country->fill($request->all());
            try {
                $country->save();
            } catch (\Exception $ex) {
                throw $ex;
            }
        });
        return $country;
    } catch (\Exception $ex) {
        throw $ex;
    }
} }

我没找到什么问题。

0 个答案:

没有答案