Dropzonejs 对象对象错误。我该如何解决?
Dropzonejs object object error. How can I fix it?
文件无法上传到目录并返回错误
js 和来自 dropzone 的 css 正确包含在页眉和页脚中
巴尔德代码::
@include('Templates.head')
<body style="background: #283747;">
@include('Menu.menu')
@if (Session::has('user') && Session::has('privlages') && Session::get('privlages') >= '1')
<div class="container">
<div class="row">
<form action="/gallery_add_image" class="dropzone" style="margin-left: 10%; margin-right: 10%;">
@csrf
<div class="fallback">
<input name="file" type="file" multiple />
</div>
</form>
</div>
</div>
@else
<script>window.location = "/";</script>
@endif
@include('Templates.footer')
控制器代码::
namespace App\Http\Controllers;
use Illuminate\Http\Request;
class GalerryController extends Controller
{
public function add_image(Request $add_image){
$image = $add_image->file('file');
$imageName = time(). '.' . $add_image->extension();
$image->move(public_path('gallery'), $imageName);
return response()->json(['success' => $imageName]);
}
}
网络(路由)代码::
use Illuminate\Support\Facades\Route;
use App\Http\Controllers\GalerryController;
Route::post('/gallery_add_image', [GalerryController::class, 'add_image']);
服务器响应代码::
我该如何解决这个问题?
在您的控制器代码中,$add_image
是一个请求对象,它没有 extension
方法。要获取上传的文件扩展名,您需要使用:
class GalerryController extends Controller
{
public function add_image(Request $add_image) {
$add_image->validate([ 'file' => 'required|image' ]); // Good idea to validate
$image = $add_image->file('file');
$imageName = time(). '.' . $image->getClientOriginalExtension();
$image->move(public_path('gallery'), $imageName);
return response()->json(['success' => $imageName]);
}
}
文件无法上传到目录并返回错误
js 和来自 dropzone 的 css 正确包含在页眉和页脚中
巴尔德代码::
@include('Templates.head')
<body style="background: #283747;">
@include('Menu.menu')
@if (Session::has('user') && Session::has('privlages') && Session::get('privlages') >= '1')
<div class="container">
<div class="row">
<form action="/gallery_add_image" class="dropzone" style="margin-left: 10%; margin-right: 10%;">
@csrf
<div class="fallback">
<input name="file" type="file" multiple />
</div>
</form>
</div>
</div>
@else
<script>window.location = "/";</script>
@endif
@include('Templates.footer')
控制器代码::
namespace App\Http\Controllers;
use Illuminate\Http\Request;
class GalerryController extends Controller
{
public function add_image(Request $add_image){
$image = $add_image->file('file');
$imageName = time(). '.' . $add_image->extension();
$image->move(public_path('gallery'), $imageName);
return response()->json(['success' => $imageName]);
}
}
网络(路由)代码::
use Illuminate\Support\Facades\Route;
use App\Http\Controllers\GalerryController;
Route::post('/gallery_add_image', [GalerryController::class, 'add_image']);
服务器响应代码::
我该如何解决这个问题?
在您的控制器代码中,$add_image
是一个请求对象,它没有 extension
方法。要获取上传的文件扩展名,您需要使用:
class GalerryController extends Controller
{
public function add_image(Request $add_image) {
$add_image->validate([ 'file' => 'required|image' ]); // Good idea to validate
$image = $add_image->file('file');
$imageName = time(). '.' . $image->getClientOriginalExtension();
$image->move(public_path('gallery'), $imageName);
return response()->json(['success' => $imageName]);
}
}