2017-09-02 81 views
1

我正在使用Laravel 5.4,并且遇到问题。我目前正在将文件上传功能添加到我的资源产品控制器。这是使用POST和创建和存储功能以标准方式完成的。 我盯着的代码,它的工作原理并不像我想要的那样。 公共职能店($申请要求) {laravel5.4文件上传问题404 Not Found在此服务器上未找到请求的资源/产品

$product = new Product; 
$product->name = $request->name; 
$product->primary_category = $request->primary_category; 
$product->secondary_category = $request->secondary_category; 
$product->price = $request->price; 
$product->stock = $request->stock; 
$product->low_stock_level = $request->low_stock_level; 
$product->location = $request->location; 
$product->description = $request->description; 
if($request->hasFile('image')){ 
    $product->image = $request->image->storeAs('public',$request->name.'.jpg'); 
    //Storage::putFile('public',$request->file('image')); 

    //$request->image->path(); 
    //$request->image->store('public'); 
} 
$product->active = 0; 
$product->weight = $request->weight; 
$product->langth = $request->langth; 
$product->width = $request->width; 
$product->height = $request->height; 

$product->save(); 
return redirect('products/create'); 
} 

然后我修改了代码这一点。

公共职能店($申请要求) {

$product = new Product; 
$product->name = $request->name; 
$product->primary_category = $request->primary_category; 
$product->secondary_category = $request->secondary_category; 
$product->price = $request->price; 
$product->stock = $request->stock; 
$product->low_stock_level = $request->low_stock_level; 
$product->location = $request->location; 
$product->description = $request->description; 
if(Input::hasFile('image')){ 
    $file = Input::file('image'); 
    $file->move('products/', $file->getClientOriginalName()); 
    $image = '/products/'.$file->getClientOriginalName(); 
    DB::table('product_images')->insert(
    ['product_id' => $request->product_id, 'image' => $image] 
); 
$product->active = 0; 
$product->weight = $request->weight; 
$product->langth = $request->langth; 
$product->width = $request->width; 
$product->height = $request->height; 

$product->save(); 
return redirect('products/create'); 
} 

此代码不起作用巫剂量不是真的关心我。它也会导致这个错误。

未找到

所请求的资源/产品并没有在此服务器上找到。

我敢肯定,这是导致问题的修改,因为我已经恢复到我最后的稳定版本,并检查它的工作,然后我修改了代码,并再次得到相同的错误。 甚至在代码更改为最后一个稳定版本后,此错误仍然存​​在。

有没有人有任何想法可能会导致这种情况,我该如何解决这个问题?

回答

0

您应该指定移动文件目录的完整路径。例如,如果您想将文件移动到public/uploads/articles你的代码看起来像:

$file->move(public_path('uploads/articles'), $file->getClientOriginalName()); 
+0

感谢您的建议,您好我尝试在我的最后一个工作版本,不幸的是,我仍然得到同样的错误。 运行有问题的代码之后,存储功能不会在表单提交中运行。这将正常指示路线问题,但路线没有改变。 –

相关问题