假设我要上传3张图片a.jpeg,b.jpeg和c.jpeg
我已经成功选择了要上传的图像。 将它们发送到控制器,并使用print_f()检查它们是否确实在控制器中。他们是。
然后,当我检查img文件夹时,只有c.jpeg成功上传,而其余部分则没有成功上传。
这是什么原因?
// AdminController
namespace App\Http\Controllers;
use Illuminate\Http\Request;
use DB;
use App\Http\Redirect;
use Image;
// Route
Route::post('/upload', 'AdminController@store')->name('upload');
// AdminController@store:
public function store(Request $request){
if ($request->hasfile('images')) {
foreach ($request->images as $image) {
$name = time() . '.' . $image->getClientOriginalExtension();
print_r($name."<br>"); // to see if they're actually passed.
Image::make($image)->save(public_path('img/new/'. $name));
}
}
return('done');
}
<form action="{{ route('upload') }}" method="post" enctype="multipart/form-data">
<div class="form-group">
<label for="exampleInputFile">File input</label>
<input type="file" name="images[]" id="exampleInputFile" multiple />
</div>
{{ csrf_field() }}
<button type="submit" class="btn btn-default">Submit</button>
</form>
答案 0 :(得分:0)
问题是我使用的是time()
函数,而不是rand()
或返回随机值的任何类似函数。
所以现在的代码应该像这样:
public function store(Request $request){
if ($request->hasfile('images')) {
foreach ($request->images as $image) {
$name = rand() . '.' . $image->getClientOriginalExtension();
print_r($name."<br>"); // to see if they're actually passed.
Image::make($image)->save(public_path('img/new/'. $name));
}
}
return('done');
}