【发布时间】:2020-09-02 11:18:46
【问题描述】:
由于很多天我都在尝试在服务器中上传文件,因此在实时服务器中出现了 405 个方法不允许错误: 这是我的看法: HTML & javascript
@extends('layouts.app')
@section('content')
form id="uploaddiamond" class="form-horizontal form-label-left" method="post" enctype="multipart/form-data">
@csrf
<div class="col-md-6">
<div class="block">
<div class="panel-body">
<div class="form-group">
<label class="col-md-3 control-label">Upload Diamond <span class="required">*</span></label>
<div class="col-md-9">
<input required="" type="file" name="result_file" id="result_file" />
</div>
</div>
<div class="btn-group pull-right">
<button class="btn btn-primary" type="submit">Submit</button>
</div>
</div>
</div>
</div>
</form>
@endsection()
@section('javascript')
<script>
$("#uploaddiamond").on("submit",function(e) {
e.preventDefault();
console.log('tst');
$.ajaxSetup({
headers: {
'X-CSRF-Token': $('meta[name=_token]').attr('content')
}
});
var file_data = $('#result_file').prop('files')[0];
var form_data = new FormData();
form_data.append('file', file_data);
$.ajax({
url: "{{ route('diamond') }}", // point to server-side PHP script
data: form_data,
type: 'POST',
contentType: false, // The content type used when sending data to the server.
cache: false, // To unable request pages to be cached
processData: false,
success: function(data) {
console.log(data);
}
});
});
</script>
@endsection()
This is my web route:
Route::get('/imageview','ImageController@index')->name('getimage');
Route::post('/postDiamond','ImageController@postDiamond')->name('diamond');
这是我的控制器:
public function index(){
return view('Image/imgupload');
}
public function postDiamond(Request $request){
dd($request->file('file'));
$supplier_name = $request->supplier_name;
$extension = $request->file('file');
$extension = $request->file('file')->getClientOriginalExtension(); // getting excel extension
$dir = 'assets/files/';
$filename = uniqid().'_'.time().'_'.date('Ymd').'.'.$extension;
$request->file('file')->move($dir, $filename);
}
我不知道为什么这段代码不起作用,因为这段代码在 localhost 中有效,但在 Linux 主机中无效: 有人可以帮忙吗我在版本上做错了什么 服务器当前 PHP 版本:7.3.17 laravel PHP 版本:7.1.10
这是我的服务器错误图片,请检查: enter image description here
【问题讨论】:
-
您是否也在元标记中包含了 csrf 令牌?全球范围内?
-
是的,先生,我已经命名为 _token
-
尝试更改此顺序并检查
url: "{{ route('diamond') }}", data: form_data,type: 'POST',TOtype: 'POST', url: "{{ route('diamond') }}", data: form_data -
你能显示路由图吗?默认情况下在 routes/web.php 但是如果你有 laravel 7,需要 php version >= 7.2.5 但我怀疑一个错误的方法,比如错误说
-
没有任何作用,先生
标签: php linux laravel file-upload web-hosting