【问题标题】:How to Upload an Image in Laravel 5如何在 Laravel 5 中上传图片
【发布时间】:2015-10-05 10:50:50
【问题描述】:

我是 Laravel 5 的新手。实际上我使用的是 Laravel 框架版本 5.1.16。上传图片时,正在上传并保存在数据库表中,但不会移动到指定文件夹。

任何帮助将不胜感激。

这是我的控制器代码:

public function addexpense(Request $request) {

  $inputs=Input::all();
  $validation = Validator::make($inputs, Expense::$rules);

  if($validation->fails()) {
    return Redirect::to('expenseaddform')->withErrors($validation)->withInput();
  }else{
    $input=Input::only('id','expense_date','expense_category_id','vendor_id','customer_id','amount','tax1_id','tax2_id','note','receipt');   

    $data->expense_date = $input['expense_date'];
    $data->expense_category_id = $input['expense_category_id'];
    $data->vendor_id = $input['vendor_id'];
    $data->customer_id = $input['customer_id'];
    $data->amount = $input['amount'];
    $data->tax1_id = $input['tax1_id'];
    $data->tax2_id = $input['tax2_id'];
    $data->note = $input['note'];

    $image = Input::file('receipt');
    $filename = date('Y-m-d-H:i:s')."-".$image->getClientOriginalName();
    Image::make($image->getRealPath())->resize(468, 249)->save('public/uploas/'. $filename);
    $data->receipt = $input['image'];

    $data->save();

    return redirect('expenseinfo');
  }
}

表格代码:

<form action="addexpense" enctype="multipart/form-data" >
    Receipt:</td><td><input type="file" name="receipt"value="{{Input::old('receipt')}}">
    <input style="margin-left:30px"type="submit" value="Add" name="submit"> 
</form> 

【问题讨论】:

  • 我已将帖子编辑为更准确的答案。请检查。

标签: laravel image-processing


【解决方案1】:

Image::make() 函数你做错了。请尝试以下操作:

Image::make($image->getRealPath())->resize(468, 249)->save(public_path() . '/uploads/' . $filename);

【讨论】:

  • 当我按照您的建议更改代码时,显示错误为 Class 'Intervention\Image\ImageServiceProvider' not found
  • 是的,我遵循了这些步骤。但我仍然遇到同样的错误
  • 将其作为一个单独的问题声明,以便我可以在那里添加我的答案。我认为更适合它。不要忘记将此标记为答案。
  • 现在我在 ImageManager.php 第 123 行收到错误 MissingDependencyException:必须安装/启用 PHP Fileinfo 扩展才能使用干预图像。如何解决这个问题
  • 您应该在您的 php.ini 文件中启用 Fileinfo 扩展。关注this 或this one
【解决方案2】:

试试这个:

Image::make($image->getRealPath())->resize(468, 249)->save(public_path('uploads/').$filename);

有关更多信息,您可以查看以下链接: https://youtu.be/F92JpVWhDw4

【讨论】:

    猜你喜欢
    • 2019-05-15
    • 2019-06-30
    • 2017-09-28
    • 1970-01-01
    • 2015-07-04
    • 2016-10-10
    • 1970-01-01
    • 2015-09-14
    • 1970-01-01
    相关资源
    最近更新 更多