我遵循了这个<div [innerHTML]="content"></div>
教程,并且设法在我的https://www.youtube.com/watch?v=aflTCbGdzDc
项目中加入了Jcrop
,一切正常。单击laravel
,裁剪图像,图像显示在choose image
中。但是当我提交表格时。我在jcrop image box
中收到错误消息validation
(我为图像文件写了image is required
)。为什么我会收到此错误?图像显示在该框中。我究竟做错了什么 ?还是validation
有问题?!请帮助我。
这是我上传的图片: https://drive.google.com/open?id=1qgEmA9RlKy_eilZohCLajGmnVfqWSB9E
这是我提交的图片,但出现错误:https://drive.google.com/open?id=1gSCurwZ50TF_nMZZcWnJ4keBsJmcQKEh
JCrop
<form method="post" action="{{route('userRegister')}}" enctype="multipart/form-data">
@csrf
<div class="col-md-6 alert alert-danger {{!empty($errors->all()) ? 'show' : 'hide'}}">
<ul style="text-align: right;" dir="rtl">
@foreach($errors->all() as $error)
<li>{{$error}}</li>
@endforeach
</ul>
</div>
<div class="row col-md-12" dir="rtl">
<div class="input-group col-md-4">
<div class="container" dir="ltr">
<div id="userpic" class="userpic">
<div class="js-preview userpic__preview"></div>
<div class="btn btn-success js-fileapi-wrapper">
<div class="js-browse">
<span class="btn-txt">انتخاب عکس</span>
<input type="file" name="filedata" id="filedata" >
</div>
<div class="js-upload" style="display: none;">
<div class="progress progress-success"><div class="js-progress bar"></div></div>
<span class="btn-txt">در حال بارگذاری</span>
</div>
</div>
</div>
</div>
<div id="popup" class="popup" style="display: none">
<div class="popup__body"><div class="js-img"></div></div>
<div style="margin: 0 0 5px;text-align: center">
<div class="js-upload btn btn_browse btn_browse_small">بارگذاری</div>
</div>
</div>
</div>
</div>
我在控制台中收到此错误:
public function rules()
{
return [
'filedata' => 'required|max:1024',
];
}
public function messages()
{
return [
'filedata.max' => 'سایز تصویر نمیتواند بیش از 2 مگابایت باشد',
'filedata.required' => 'وارد کردن تصویر الزامی است',
];
}
答案 0 :(得分:0)
在评论中与您交谈后,在FileAPI javascript文件上会显示您收到404错误。
您为FileAPI使用了以下配置:
var FileAPI = { debug:true, media:true, staticPath:'{{asset('crop-userpic\FileAPI')}}' };
这是将您的staticPath
设置为/resources/assets/crop-userpic/FileAPI
目录,这会将它们放置在您网站的网络根目录之外。
您需要将staticPath
设置为公共目录中FileAPI javascript文件的位置,以便jcrop可以访问它们。
<!-- include jquery -->
<script src="//ajax.googleapis.com/ajax/libs/jquery/1.8/jquery.min.js"></script>
<!-- Set FileAPI settings -->
<script>
window.FileAPI = {
debug: false,
media: true,
staticPath: '/js/jquery.fileapi/FileAPI/'
};
</script>
<script src="/js/jquery.fileapi/FileAPI/FileAPI.min.js"></script>
<script src="/js/jquery.fileapi/FileAPI/FileAPI.exif.js"></script>
<script src="/js/jquery.fileapi/jquery.fileapi.min.js"></script>
<script src="/js/jcrop/jquery.Jcrop.min.js"></script>
在上面的示例中,staticPath
是文件FileAPI.min.js
和FileAPI.exif.js
的路径。
您应该确保可以从/public/js/jquery.fileapi/FileAPI/
内部访问这些文件。