seperate image saving to directory
This commit is contained in:
@@ -7,9 +7,8 @@ use Illuminate\Http\Request;
|
||||
use App\Models\designer\DesignerModel;
|
||||
use App\Models\teamstore\TeamStoreModel;
|
||||
use App\Models\MainModel;
|
||||
use Config;
|
||||
Use Auth;
|
||||
use DB;
|
||||
use Illuminate\Support\Facades\Auth;
|
||||
use Illuminate\Support\Facades\Storage;
|
||||
|
||||
class DesignerController extends Controller {
|
||||
|
||||
@@ -958,4 +957,21 @@ class DesignerController extends Controller {
|
||||
return view("designer.buy_form")->with('jersey_sizes', $jersey_sizes)
|
||||
->with('shorts_sizes', $shorts_sizes);
|
||||
}
|
||||
|
||||
public function saveBase64Images(Request $request) {
|
||||
$post = $request->all();
|
||||
@list($type, $file_data) = explode(';', $post['base64_image']);
|
||||
$extension = explode('/', mime_content_type($post['base64_image']))[1];
|
||||
@list(, $file_data) = explode(',', $file_data);
|
||||
$imageName = $post['side'] . '_' . $post['image_count'] . '_' . microtime(true) . '_' . Auth::user()->id . '.'.$extension;
|
||||
|
||||
$filesystem = Storage::disk('sftp');
|
||||
$filesystem->getDriver()->getAdapter()->setDirectoryPerm(0755);
|
||||
$filesystem->put('/merchbay/designer-images/' . $imageName, base64_decode($file_data));
|
||||
// Storage::disk('uploads_local')->put($imageName, base64_decode($file_data));
|
||||
return response()->json(array(
|
||||
'success' => true,
|
||||
'url' => config('site_config.uploads') . 'designer-images/' . $imageName
|
||||
));
|
||||
}
|
||||
}
|
||||
@@ -948,15 +948,18 @@ class UserController extends Controller {
|
||||
// var_dump($data);
|
||||
|
||||
|
||||
$res = $UserModel->updateTeamstore($store_id, $data);
|
||||
$UserModel->updateTeamstore($store_id, $data);
|
||||
// var_dump($res);
|
||||
// if($res){
|
||||
$filesystem = Storage::disk('sftp');
|
||||
$filesystem->getDriver()->getAdapter()->setDirectoryPerm(0755);
|
||||
|
||||
if($request->file('store_logo') != null){
|
||||
Storage::disk('uploads')->put('/teamstore/'. $orig_store_url . '/' . $store_logo_name, fopen($request->file('store_logo'), 'r+'));
|
||||
$filesystem->put('/merchbay/teamstore/'. $orig_store_url . '/' . $store_logo_name, fopen($request->file('store_logo'), 'r+'));
|
||||
}
|
||||
|
||||
if($request->file('store_banner') != null){
|
||||
Storage::disk('uploads')->put('/teamstore/'. $orig_store_url . '/' . $store_banner_name, fopen($request->file('store_banner'), 'r+'));
|
||||
$filesystem->put('/merchbay/teamstore/'. $orig_store_url . '/' . $store_banner_name, fopen($request->file('store_banner'), 'r+'));
|
||||
}
|
||||
|
||||
return response()->json(array(
|
||||
|
||||
@@ -70,6 +70,8 @@ Route::post('/designer/edit/a/edit-set-pattern', 'designer\DesignerController@ed
|
||||
Route::get('/designer/a/tab-clipart-content', 'designer\DesignerController@tabClipartContent');
|
||||
Route::post('/designer/a/save-design-details', 'designer\DesignerController@saveDesignDetails');
|
||||
|
||||
Route::post('/designer/a/save-images', 'designer\DesignerController@saveBase64Images');
|
||||
|
||||
// teamstore
|
||||
// Route::get('/', 'teamstore\TeamStoreController@login'); // old
|
||||
Route::get('/', 'teamstore\TeamStoreController@storelist'); // old
|
||||
@@ -196,3 +198,7 @@ Route::group(array('middleware' => ['isAuthorized', 'cors'], 'prefix' => 'api'),
|
||||
Route::get('order-status', 'ApiController@getOrderStatus');
|
||||
Route::get('steps', 'ApiController@getSteps');
|
||||
});
|
||||
|
||||
Route::get('vue/designer', function() {
|
||||
return view('designer.vue_designer');
|
||||
});
|
||||
|
||||
@@ -1,9 +1,10 @@
|
||||
<?php namespace App\Providers;
|
||||
|
||||
use Illuminate\Support\ServiceProvider;
|
||||
use Storage;
|
||||
use Illuminate\Support\Facades\Storage;
|
||||
use League\Flysystem\Filesystem;
|
||||
use League\Flysystem\Sftp\SftpAdapter;
|
||||
use Illuminate\Support\Facades\Blade;
|
||||
|
||||
class AppServiceProvider extends ServiceProvider {
|
||||
|
||||
@@ -15,7 +16,7 @@ class AppServiceProvider extends ServiceProvider {
|
||||
public function boot()
|
||||
{
|
||||
//
|
||||
\Blade::extend(function($value) {
|
||||
Blade::extend(function($value) {
|
||||
return preg_replace('/\@define(.+)/', '<?php ${1}; ?>', $value);
|
||||
});
|
||||
|
||||
|
||||
@@ -103,6 +103,11 @@ return [
|
||||
'root' => '/var/www/html/images/merchbay',
|
||||
'timeout' => 10,
|
||||
],
|
||||
|
||||
'uploads_local' => [
|
||||
'driver' => 'local',
|
||||
'root' => 'C:/wamp64/www/uploads',
|
||||
],
|
||||
],
|
||||
|
||||
];
|
||||
|
||||
@@ -1113,9 +1113,15 @@
|
||||
var type = SideAndPath[i]['Type'];
|
||||
|
||||
var contentName = "content_" + sideName;
|
||||
//console.log(contentName);
|
||||
var objects = window['canvas_' + type + '_' + sideName].getObjects();
|
||||
objects.forEach((obj, index) => {
|
||||
var newUrl = saveImages(obj._originalElement.currentSrc, sideName, index);
|
||||
obj._originalElement.src = newUrl;
|
||||
});
|
||||
window['canvas_' + type + '_' + sideName].renderAll();
|
||||
|
||||
contentName = JSON.stringify(window['canvas_' + type + '_' + sideName].toObject(['idNumber', 'id'])); // = new fabric.Canvas(canvasName);
|
||||
//console.log(contentName);
|
||||
|
||||
|
||||
var inputName = "json_" + sideName;
|
||||
var hiddenFieldContentDesign = "field_" + sideName;
|
||||
@@ -1269,6 +1275,37 @@
|
||||
// return false;
|
||||
}
|
||||
|
||||
|
||||
function saveImages(base64Image, sideName, image_count){
|
||||
var newUrl;
|
||||
$.ajax({ //create an ajax request to load_page.php
|
||||
type: "POST",
|
||||
url: "{{url('designer/a/save-images')}}",
|
||||
async: false,
|
||||
dataType : 'json',
|
||||
data: {
|
||||
base64_image : base64Image,
|
||||
side: sideName,
|
||||
image_count: image_count
|
||||
},
|
||||
beforeSend:function(xhr){
|
||||
var token = $('meta[name="csrf_token"]').attr('content');
|
||||
|
||||
if (token) {
|
||||
return xhr.setRequestHeader('X-CSRF-TOKEN', token);
|
||||
}
|
||||
xhr.setRequestHeader( 'X-Requested-With', 'XMLHttpRequest');
|
||||
},
|
||||
success: function(response){
|
||||
if(response.success){
|
||||
newUrl = response.url;
|
||||
}
|
||||
}
|
||||
});
|
||||
|
||||
return newUrl;
|
||||
}
|
||||
|
||||
// end design saving
|
||||
|
||||
// 1ST TAB <---####################################
|
||||
|
||||
12
resources/views/designer/vue_designer.blade.php
Normal file
12
resources/views/designer/vue_designer.blade.php
Normal file
@@ -0,0 +1,12 @@
|
||||
<!DOCTYPE html>
|
||||
<html lang="en">
|
||||
<head>
|
||||
<meta charset="UTF-8">
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1.0">
|
||||
<meta http-equiv="X-UA-Compatible" content="ie=edge">
|
||||
<title>Document</title>
|
||||
</head>
|
||||
<body>
|
||||
|
||||
</body>
|
||||
</html>
|
||||
Reference in New Issue
Block a user