Add file size checking. Rename bankslip_url to china_bank_slip_path in chinabankslip table

This commit is contained in:
Too
2018-06-26 22:23:10 +08:00
parent fdcaa31ffe
commit 436b284a3b
5 changed files with 86 additions and 4 deletions
+1 -1
View File
@@ -6,5 +6,5 @@ use Illuminate\Database\Eloquent\Model;
class ChinaBankSlip extends Model
{
protected $fillable = ['actual_transfer_amount','date','details','china_bank_slips'];
protected $fillable = ['actual_transfer_amount','date','details','china_bank_slip_path'];
}
@@ -4,6 +4,8 @@ namespace App\Http\Controllers;
use App\ChinaBankSlip;
use Illuminate\Http\Request;
use Illuminate\Support\Facades\Storage;
use Validator;
class ChinaBankSlipController extends Controller
{
@@ -45,6 +47,16 @@ class ChinaBankSlipController extends Controller
$extension = $request->file('china_bank_slips')->getClientOriginalExtension();
// Filename to store
$fileNameToStore= $filename.'_'.time().'.'.$extension;
// File size checking
$validator = Validator::make($request->all(), [
'china_bank_slips' => 'max:3072'
]);
if($validator->fails())
{
return response()->json(['message'=>'Image too large, upload files up to 3 MB'], 400);
}
// Upload Image
$path = $request->file('china_bank_slips')->storeAs('public/bankslip', $fileNameToStore);
} else {
@@ -55,8 +67,9 @@ class ChinaBankSlipController extends Controller
$post->actual_transfer_amount = $request->input('actual_transfer_amount');
$post->date = $request->input('date');
$post->details = $request->input('details');
$post->china_bank_slips = $fileNameToStore;
$post->save();;
$post->china_bank_slip_path = "123";
$post->save();
return response()->json(['message'=>$post], 200);
}
@@ -0,0 +1,31 @@
<?php
use Illuminate\Support\Facades\Schema;
use Illuminate\Database\Schema\Blueprint;
use Illuminate\Database\Migrations\Migration;
class RenameBankslipUrlToChinabanksliPathInChinaBankSlipTable extends Migration
{
/**
* Run the migrations.
*
* @return void
*/
public function up()
{
Schema::table('china_bank_slips', function($table)
{
$table->renameColumn('bankslip_url', 'china_bank_slip_path');
});
}
/**
* Reverse the migrations.
*
* @return void
*/
public function down()
{
//
}
}
-1
View File
@@ -17,7 +17,6 @@ use App\Booking;
use App\UserBankSlip;
use App\Role;
use App\SettingCredit;
use Illuminate\Support\Facades\File;
class BookingTest extends TestCase
{
+39
View File
@@ -0,0 +1,39 @@
<?php
namespace Tests\Feature;
use Tests\TestCase;
use Illuminate\Foundation\Testing\WithFaker;
use Illuminate\Foundation\Testing\RefreshDatabase;
use Illuminate\Support\Facades\Storage;
use Illuminate\Http\UploadedFile;
use Artisan;
class ChinaBankSlipTest extends TestCase
{
/**
* A basic test example.
*
* @return void
*/
public function testStore(){
Storage::fake('file');
$size_in_kb = 3072; // 3072KB = 3MB
$china_bank_slips_path = UploadedFile::fake()->image('comp.jpg')->size($size_in_kb);
$response =
$this->postJson('api/upload-china-bankslip',[
'china_bank_slips' => $china_bank_slips_path,
'actual_transfer_amount' => '12',
'details' => "123123",
'date' => "123123"
]);
if(!file_exists($china_bank_slips_path) || $size_in_kb > 3072){
$response->assertStatus(400);
}
else{
$response->assertSuccessful();
}
}
}