如何解决如何在Laravel 5中使用sweetalerts读取输入的类型文件?
我正在使用laravel 5.2和sweetalert。我有一个用于上传文件的按钮,当我单击该按钮时,显示了一个Sweetalert弹出窗口用于上传文件。但是,当我提交该文件时,它不会上传,但没有错误消息。.我尝试打印该文件,但未显示任何内容。我也使用此代码来插入文本类型,它可以工作,但不能用于文件类型。您知道如何在sweetalert中读取文件类型吗?
这是按钮代码:
<button id="uploadfile" data-id="{{$files[0]->id}}" class="btn btn-success"><i class="fa fa-upload"></i></button>
下面是我的甜蜜代码
$('button#uploadfile').on('click',function(ID){
var ID = $(this).attr('data-id');
swal({
content: {
element: "input",attributes: {
placeholder: "Upload the file",type: "file",confirmButtonText: 'Upload',},})
.then((myfile) => {
if (myfile.value === false) return false;
if (myfile.value === "") {
swal.showInputError("You need to upload the file");
return false
}
if (myfile) {
$.ajax({
url: "FileUpload?ID="+ID+ "&file="+myfile,type: "GET",success: function (data) {
if (data == 'ok') {
swal("Uploaded","Your file has been uploaded successfully!",{
icon: "success",}).then(function () {location.reload();});
}
}
});
}
}
});
这是我的控制者:
public function FileUpload(Request $request)
{
$id = $request['ID'];
$document = Files::where('id',$id)->first();
$destination = 'files';
if(!Storage::exists($destination)){
Storage::makeDirectory($destination);
}
if($request->hasFile('myfile')) {
$file = $request->file('myfile');
$extension = $file->getClientOriginalExtension();
$file_name = $document->id .'_'. date('YmdHis',strtotime(date('Y-m-d H:i:s'))) . '.' . $extension;
$file->move($destination,$file_name );
$document->file = $file_name;
}
$document->save();
$data = 'ok';
return $data;
}
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。