我正在使用uploadify上传带有progressbar实现的laravel中的文件。但当我上传文件时,我在控制台中收到了这个错误。
Uncaught TypeError: $(...).find(...).not(...).size is not a function
at HTMLInputElement.<anonymous> (jquery.uploadifive.js:814)
at Function.each (jquery-3.5.1.min.js:2)
at S.fn.init.each (jquery-3.5.1.min.js:2)
at S.fn.init.upload (jquery.uploadifive.js:770)
at S.fn.init.$.fn.uploadifive (jquery.uploadifive.js:872)
at <anonymous>:1:19
我正在使用laravel,刀片视图为
uploadForm.blade.php
@extends('layouts.artist')
@section('content')
<div id="queue"></div>
<input id="file_upload" name="file_upload" type="file" multiple="true">
<a style="position: relative; top: 8px;" href="javascript:$('#file_upload').uploadifive('upload')">Upload Files</a>
@endsection
@section('script')
<script type="text/javascript">
$(function() {
$('#file_upload').uploadifive({
'auto' : false,
'checkScript' : '',
'fileType' : 'image/png',
'formData' : {
'_token' : "{{csrf_token()}}"
},
'queueID' : 'queue',
'uploadScript' : "{{route('track.upload')}}",
'onUploadComplete' : function(file, data) { console.log(data); }
});
});
</script>
@endsection
我的控制器是
TrackController.php
function upload(Request $request) {
$title = rand(1000000, 9999999);
$request->file_upload->storeAs('public/uploads', $title.'.png');
$response = ['status' => 'ok', 'message' => $title.' successfully uploaded.'];
return response()->json($response);
}
非常感谢您的帮助。
size()
方法在jQuery 1.8中已弃用,在3.0及更高版本中已完全删除。您应该使用length
。
该调用似乎来自您正在使用的uploadifive()
库。因此,我认为图书馆已经过时了。我建议找一个替代方案。