我的问题是我有2条相同的POST路线,但每条路线都分配给不同的按钮。
如果我使用动作“BuilderController @ testing”运行第一个表单,一切正常,但其他一个'BuilderController @ postDB给我一个错误:
$图像 - > getClientOriginalExtension();
这是'Buildercontroller @测试的一部分,所以我想要做的是如果我运行@postDB ignore function @testing但是如果我运行@testing忽略@postDB。
刀片:
Pod::Spec.new do |s|
s.name = 'YourProject'
s.version = '0.9.1'
s.summary = 'iOS 10 Music Appshadow blur imitation'
s.description = <<-DESC
Your description
DESC
s.homepage = 'https://github.com/.....'
s.license = { :type => 'MIT', :file => 'LICENSE' }
s.author = { '<YOUR NAME HERE>' => '<YOUR EMAIL HERE>' }
s.source = { :git => 'https://github.com/....', :tag => s.version.to_s }
s.ios.deployment_target = '9.0'
s.source_files = '...*.{swift,png}'
end
控制器:
class func getImage(Named name : String,andExtension ext :String) -> UIImage?{
if let bundle = Bundle(identifier: <YOUR_BUNDLE_IDENTIFIER>),
let imageUrl = bundle.url(forResource: name, withExtension: ext){
return UIImage(contentsOfFile: imageUrl.path)
}
return nil
}
JS:
@extends('layouts.master') @section('title', 'Website Builder') @section('content')
<meta name="csrf-token" content="{{ csrf_token() }}" />
<div class=flex-container>
<div class="flex-item templates">
@foreach ($templates as $template)
<a class="content-link" href="{{ asset($template->file )}}">
<img class="template_img" src="{{ asset($template->image )}}"/>
</a> @endforeach
</div>
<span class="glyphicon glyphicon-chevron-left hiding_template left_side arrows"></span>
<span class="glyphicon glyphicon-chevron-right hiding_features right_side arrows"></span>
<div class="pace pace-inactive">
<div class="pace-progress" data-progress-text="100%" data-progress="99" style="width: 100%;">
<div class="pace-progress-inner"></div>
</div>
<div class="pace-activity"></div>
</div>
<div id="content-link2" class="flex-item2">
@if (session('status'))
<div id="mydiv" class="alert alert-success">
{{ session('status') }}
</div>
@endif
</div>
<div class="flex-item featuress">
<form id="upload_form" action="{{ action('BuilderController@testing') }}" enctype="multipart/form-data" role="form" method="POST">
<input type="hidden" name="_token" value="{{ csrf_token() }}">
<input name="img" id="img" class="form-control filestyle margin images" data-input="false" type="file" data-buttonText="Upload Logo" data-size="sm" data-badge="false" onchange="submitImage();" />
</form>
<button class="btn btn-success form-control margin " data-toggle="modal" data-target="#myModalHorizontal">
Save Website
</button>
<!-- Modal -->
<div class="modal fade" id="myModalHorizontal" tabindex="-1" role="dialog" aria-labelledby="myModalLabel" aria-hidden="true">
<div class="modal-dialog">
<div class="modal-content">
<!-- Modal Header -->
<div class="modal-header">
<button type="button" class="close" data-dismiss="modal">
<span aria-hidden="true">×</span>
<span class="sr-only">Close</span>
</button>
<h4 class="modal-title" id="myModalLabel">
Website Name
</h4>
</div>
<div class="modal-body">
<form action="{{ action('BuilderController@postDB') }}" class="form-horizontal" role="form" method="POST">
<div class="form-group">
<input type="hidden" name="_token" value="{{ csrf_token() }}">
<input type="hidden" id="code" name="newCode" value="">
<input type="hidden" id="name" name="newName" value="">
<label class="col-sm-2 control-label" for="website_name">Name</label>
<div class="col-sm-10">
<input type="text" class="form-control" id="website_name" placeholder="Website Name" />
</div>
</div>
</div>
<!-- Modal Footer -->
<div class="modal-footer">
<button type="button" class="form-control margin btn btn-danger" data-dismiss="modal">
Close
</button>
<button onClick=" updateDatabase(this);" type="submit" class="form-control margin btn btn-success" id="getRequest changes">
Save Website
</button>
</div>
</div>
</div>
</form>
</div>
</body>
<link href="{{asset('css/bootstrap-colorpicker.min.css')}}" rel="stylesheet" type="text/css">
<link href="{{asset('css/bootstrap-formhelpers.min.css')}}" rel="stylesheet" type="text/css">
<link href="{{asset ('//code.jquery.com/ui/1.12.1/themes/base/jquery-ui.css')}}" rel="stylesheet" type="text/css">
<script type="text/javascript" src="{!! asset('js/bootstrap-colorpicker.min.js') !!}">
</script>
<script type="text/javascript" src="{!! asset('js/bootstrap-formhelpers.js') !!}">
</script>
<script type="text/javascript" src="{!! asset('js/template.js') !!}"></script>
<script type="text/javascript" src="{!! asset('js/bootstrap-filestyle.min.js') !!}">
</script>
</html>
@endsection @show
路线:
public function postDB(Request $request) {
$newName = $request->input('newName');
$newLat = $request->input('newCode');
$websites = new Website();
$websites->name = $newName;
$websites->html = $newLat;
$websites->save();
return redirect('template')->with('status', 'Website has been saved successfully!');
}
public function website($newName) {
// Return our "website" object
$html = Website::where('name', $newName)->first();
// Pass the contents of the "html" property to the view
return view('layouts/website', [
'html' => $html->html
]);
}
public function testing(Request $request) {
if($request->hasFile('img'));
{
$image = Input::file('img');
$filename = time() . '.' . $image->getClientOriginalExtension();
$path = public_path('images/' . $filename);
Image::make($image->getRealPath())->resize(200, 200)->save($path);
$file = $request->file('img');
return ['url' => url('images/' . $filename)];
}
}
答案 0 :(得分:1)
有两种相同的路线后方法。我们不能这样使用。得到&amp;在laravel中对待后处理的方式不同。
Route::post('template', 'BuilderController@postDB');
Route::post('template2', 'BuilderController@testing')