Toggle navigation
Toggle navigation
This project
Loading...
Sign in
liuloulou
/
yohobuy-portal-fe2
·
Commits
Go to a project
GitLab
Go to dashboard
Project
Activity
Files
Commits
Pipelines
0
Builds
0
Graphs
Milestones
Issues
0
Merge Requests
0
Members
Labels
Wiki
Forks
Network
Create a new issue
Download as
Email Patches
Plain Diff
Browse Files
Authored by
xuhongyun
9 years ago
Commit
600847b885eced9a6b5e7de150a9b0695847f089
1 parent
68f8659c
add size limit and width and height limit
Hide whitespace changes
Inline
Side-by-side
Showing
1 changed file
with
87 additions
and
1 deletions
code/static/js.jquery/common/upload.js
code/static/js.jquery/common/upload.js
View file @
600847b
...
...
@@ -11,7 +11,18 @@ $.fn.ajaxfileupload = function(options) {
onCancel
:
function
()
{},
validate_extensions
:
true
,
valid_extensions
:
[
'gif'
,
'png'
,
'jpg'
,
'jpeg'
],
submit_button
:
null
// added by xuhongyun for upload limit
// 上传大小: 单位kb, 默认限制50mb
// size="500" spec="1500*1500"
size_limit
:
50
*
1024
,
// 图片规格 width * heith,单位px, 默认不限制
valid_spec
:
false
,
width_limit
:
0
,
height_limit
:
0
,
// end added
submit_button
:
null
};
var
uploading_file
=
false
;
...
...
@@ -27,6 +38,27 @@ $.fn.ajaxfileupload = function(options) {
if
(
extend
)
{
settings
.
valid_extensions
=
extend
.
split
(
','
);
}
// add by xuhongyun for upload limit
var
size
=
$element
.
attr
(
"size"
);
if
(
size
)
{
settings
.
size_limit
=
parseInt
(
size
);
}
var
spec
=
$element
.
attr
(
"spec"
);
if
(
spec
)
{
var
array
=
spec
.
split
(
'*'
);
if
(
array
.
length
==
2
)
{
settings
.
width_limit
=
parseInt
(
array
[
0
]);
settings
.
height_limit
=
parseInt
(
array
[
1
]);
}
if
(
settings
.
width_limit
!=
0
&&
settings
.
height_limit
!=
0
)
{
settings
.
valid_spec
=
true
;
}
}
// end added
// var bucket = $element.attr("bucket");
// if(bucket){
// settings.params.bucket=bucket;
...
...
@@ -54,6 +86,60 @@ $.fn.ajaxfileupload = function(options) {
var
ext
=
$element
.
val
().
split
(
'.'
).
pop
().
toLowerCase
();
console
.
log
(
settings
.
validate_extensions
);
// add by xuhongyun for upload limit
var
files
=
$element
[
0
].
files
;
if
(
files
)
{
$
.
each
(
files
,
function
(
index
,
file
)
{
// 加载图片,为了获取图片大小
var
windowURL
=
window
.
URL
||
window
.
webkitURL
;
var
dataURL
=
windowURL
.
createObjectURL
(
file
);
var
frame_id
=
'preview-'
+
Math
.
round
(
new
Date
().
getTime
());
$
(
'<img id="'
+
frame_id
+
'" />'
).
appendTo
(
'body'
).
attr
(
"src"
,
dataURL
);
var
img
=
$
(
'#'
+
frame_id
)[
0
];
// if (img.complete) {
// alert("加载完成");
// }
// else {
img
.
onload
=
function
()
{
var
width
=
img
.
offsetWidth
,
height
=
img
.
offsetHeight
;
if
(
settings
.
valid_spec
==
true
&&
Math
.
abs
(
width
-
settings
.
width_limit
)
>
10
&&
Math
.
abs
(
height
-
settings
.
height_limit
)
>
10
)
{
// 图片规格超出限制
settings
.
onComplete
.
apply
(
$element
,
[{
status
:
false
,
message
:
'只允许上传'
+
settings
.
width_limit
+
'*'
+
settings
.
height_limit
+
'的文件,第'
+
(
index
+
1
)
+
'个文件不符合要求'
},
settings
.
params
]);
var
_$element
=
$element
.
clone
();
var
_$parent
=
$element
.
parent
();
$element
.
remove
();
_$parent
.
append
(
_$element
);
_$element
.
ajaxfileupload
(
settings
);
}
// }
};
if
(
file
.
size
/
1024
>
settings
.
size_limit
)
{
// 上传大小超出限制。
settings
.
onComplete
.
apply
(
$element
,
[{
status
:
false
,
message
:
'只允许上传大小'
+
settings
.
size_limit
+
'KB以内的文件,第'
+
(
index
+
1
)
+
'个文件不符合要求'
},
settings
.
params
]);
var
_$element
=
$element
.
clone
();
var
_$parent
=
$element
.
parent
();
$element
.
remove
();
_$parent
.
append
(
_$element
);
_$element
.
ajaxfileupload
(
settings
);
return
;
}
});
}
// end added
if
(
true
===
settings
.
validate_extensions
&&
$
.
inArray
(
ext
,
settings
.
valid_extensions
)
==
-
1
)
{
settings
.
onComplete
.
apply
(
$element
,
[{
status
:
false
,
...
...
Please
register
or
login
to post a comment