Php Laravel-文件上载按钮在live server中不起作用
在laravel项目中,文件上传按钮在使用WAMP服务器进行本地开发期间工作正常。但是当我把项目上传到我的共享托管服务器时,文件上传按钮就不起作用了。该按钮已禁用 在我的本地主机中,上载按钮起作用,但在我的live server中,文件上载按钮不起作用(已禁用) 请帮忙,我不知道该怎么办 在我的控制器中,以下是上传代码Php Laravel-文件上载按钮在live server中不起作用,php,laravel,laravel-5,laravel-6,laravel-6.2,Php,Laravel,Laravel 5,Laravel 6,Laravel 6.2,在laravel项目中,文件上传按钮在使用WAMP服务器进行本地开发期间工作正常。但是当我把项目上传到我的共享托管服务器时,文件上传按钮就不起作用了。该按钮已禁用 在我的本地主机中,上载按钮起作用,但在我的live server中,文件上载按钮不起作用(已禁用) 请帮忙,我不知道该怎么办 在我的控制器中,以下是上传代码 public function upload(Request $request){ $type = array( "jpg"=>
public function upload(Request $request){
$type = array(
"jpg"=>"image",
"jpeg"=>"image",
"png"=>"image",
"svg"=>"image",
"webp"=>"image",
"gif"=>"image",
"mp4"=>"video",
"mpg"=>"video",
"mpeg"=>"video",
"webm"=>"video",
"ogg"=>"video",
"avi"=>"video",
"mov"=>"video",
"flv"=>"video",
"swf"=>"video",
"mkv"=>"video",
"wmv"=>"video",
"wma"=>"audio",
"aac"=>"audio",
"wav"=>"audio",
"mp3"=>"audio",
"zip"=>"archive",
"rar"=>"archive",
"7z"=>"archive",
"doc"=>"document",
"txt"=>"document",
"docx"=>"document",
"pdf"=>"document",
"csv"=>"document",
"xml"=>"document",
"ods"=>"document",
"xlr"=>"document",
"xls"=>"document",
"xlsx"=>"document"
);
if($request->hasFile('aiz_file')){
$upload = new Upload;
$upload->file_original_name = null;
$arr = explode('.', $request->file('aiz_file')->getClientOriginalName());
for($i=0; $i < count($arr)-1; $i++){
if($i == 0){
$upload->file_original_name .= $arr[$i];
}
else{
$upload->file_original_name .= ".".$arr[$i];
}
}
$upload->file_name = $request->file('aiz_file')->store('uploads/all');
$upload->user_id = Auth::user()->id;
$upload->extension = $request->file('aiz_file')->getClientOriginalExtension();
if(isset($type[$upload->extension])){
$upload->type = $type[$upload->extension];
}
else{
$upload->type = "others";
}
$upload->file_size = $request->file('aiz_file')->getSize();
$upload->save();
return '{}';
}
}
公共功能上传(请求$Request){
$type=数组(
“jpg”=>“图像”,
“jpeg”=>“图像”,
“png”=>“图像”,
“svg”=>“图像”,
“webp”=>“图像”,
“gif”=>“图像”,
“mp4”=>“视频”,
“mpg”=>“视频”,
“mpeg”=>“视频”,
“webm”=>“视频”,
“ogg”=>“视频”,
“avi”=>“视频”,
“mov”=>“视频”,
“flv”=>“视频”,
“swf”=>“视频”,
“mkv”=>“视频”,
“wmv”=>“视频”,
“wma”=>“音频”,
“aac”=>“音频”,
“wav”=>“音频”,
“mp3”=>“音频”,
“zip”=>“存档”,
“rar”=>“存档”,
“7z”=>“存档”,
“单据”=>“单据”,
“txt”=>“文档”,
“docx”=>“文档”,
“pdf”=>“文档”,
“csv”=>“文档”,
“xml”=>“文档”,
“ods”=>“文件”,
“卡侬”=>“文档”,
“xls”=>“文档”,
“xlsx”=>“文档”
);
如果($request->hasFile('aiz_文件')){
$upload=新上传;
$upload->file\u original\u name=null;
$arr=explode('.',$request->file('aiz_file')->getClientOriginalName();
对于($i=0;$ifile_original_name.=$arr[$i];
}
否则{
$upload->file_original_name.=“..$arr[$i];
}
}
$upload->file_name=$request->file('aiz_file')->store('uploads/all');
$upload->user_id=Auth::user()->id;
$upload->extension=$request->file('aiz_file')->getClientOriginalExtension();
如果(isset($type[$upload->extension])){
$upload->type=$type[$upload->扩展];
}
否则{
$upload->type=“其他”;
}
$upload->file_size=$request->file('aiz_file')->getSize();
$upload->save();
返回{};
}
}
在我看来,下面是处理上传的代码
<div class="form-group">
<label for="types">{{translate('System Logo - White')}}</label>
<div class="input-group" data-toggle="aizuploader" data-type="image">
<div class="input-group-prepend">
<div class="input-group-text bg-soft-secondary">{{ translate('Browse') }}</div>
</div>
<div class="form-control file-amount">{{ translate('Choose Files') }}</div>
<input type="hidden" name="system_logo_white" value="{{ get_setting('system_logo_white') }}" class="selected-files">
</div>
{{translate('System Logo-White')}
{{translate('Browse')}
{{translate('Choose Files')}
在laravel.env文件中,url未正确设置。所以我必须纠正它,它成功了
旧网址-
新url-(工作url)我认为我们仍然缺少一些上下文,因为从您发布的内容来看,您的输入是隐藏的。您是否使用javascript触发它?否则就用file替换隐藏的类型。我正在使用javascript触发@Castro AlhodoIt,这有点难,因为我没有上下文。但如果您使用laravel发布图像,这里有一些线索。看看csrf令牌。第二条线索是一些javascript库需要https的协议。拉威尔不会禁用你的按钮,除非你真的想这么做。所以它更可能出现在javascript上。如果使用multipart,请查看表单。如果你可以发布一个带有整个上下文的示例。“也许我能帮你更多的忙。”卡斯特罗,我已经修好了。