我正在尝试让我的用户更新他们的个人资料照片,我想知道在Laravel中实现类似内容的最佳做法是什么。
以下是我的用户个人资料图片。当它们悬停在它上面时,他们可以选择更新照片。
当用户点击相机徽标或更新个人资料图片时,我想带上这个文件上传窗口。
不幸的是,我可以做到这一点。
我试过
{!! Form::model($user, array('route' => array('user.update_profile_picture', $user->id ),'method' => 'PUT')) !!}
<a class="pmop-edit">
<i class="md md-camera-alt"></i>
<span class="hidden-xs">Update Profile Picture</span>
</a>
{!! Form::hidden('$id', $user->id)!!}
{!! Form::close()!!}
我现在不确定下一步该做什么。一点点推动将非常感激。
有人可以对此有所了解吗?
提前致谢。
答案 0 :(得分:0)
我不确定这是否是最佳做法,但您可以尝试使用Laravels表单构建器功能
{!! Form::file('image', null) !!}
您还需要将以下内容添加到Form :: open array 'files' => true
此页面也可能有助Processing File Uploads With Laravel 5
我没有测试过代码,但我做了类似的事情。
希望这有帮助。
答案 1 :(得分:0)
我这样解决了它
HTML
{!! Form::model($user, array('route' => array('user.update_profile_picture', $user->id ),'method' => 'PUT')) !!}
<a class="pmop-edit" >
<span id="file-upload" >
<i class="md md-camera-alt"></i>
<span class="hidden-xs">Update Profile Picture</span>
</span>
<div style='height: 0px;width: 0px; overflow:hidden;'>
<input id="upfile" type="file" value="upload" onchange="sub(this)" />
</div>
</a>
{!! Form::hidden('$id', $user->id)!!}
{!! Form::close()!!}
<强> JS 强>
$(document).ready(function(){
$("#file-upload").on("click", getFile);
$("#upfile").on("change", sub);
function getFile() {
document.getElementById("upfile").click();
}
function sub(obj) {
var file = obj.value;
var fileName = file.split("\\");
document.getElementById("file-upload").innerHTML = fileName[fileName.length - 1];
document.myForm.submit();
event.preventDefault();
}
});
希望这有助于像我这样的人。 :)