1

2

3

测试

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18 //http://www.oschina.net/code/snippet_819257_22844

19 //https://github.com/kissygalleryteam/uploader/blob/master/3.0.1/build/plugins/auth/auth.js

20 KISSY.use('core',function(S){

21 var $ = S.all, D = S.DOM;

22 var Max_Size = 2000; //2M

23 var Max_Width = 100; //100px

24 var Max_Height = 200; //200px

25

26 $('#submit').on('click',function(ev){

27 ev.halt();

28 var fileEl = D.get('#uploader');

29

30 console.log(fileEl.files);

31

32 testMaxSize(fileEl);

33 testWidthHeight(fileEl);

34 })

35

36 function testMaxSize(file){

37 if(file.files && file.files[0]){

38 var fileData = file.files[0];

39

40 var size = fileData.size; //注意,这里读到的是字节数

41 var isAllow = false;

42 if(!size) isAllow = false;

43

44 var maxSize = Max_Size;

45 maxSize = maxSize * 1024; //转化为字节

46 isAllow = size <= maxSize;

47

48 showTip1(isAllow);

49

50 }else{

51 /*... ie9下用iframe上传*/

52 /*

53 // 或者用以面的方式实现

54 // var img = new Image();

55 // 再用img.src=filepath,再用img.fileSize用取,这里不写啦,读者自行实践一下

56 */

57

58 }

59

60 }

61

62 function testWidthHeight(file){

63 var isAllow = false;

64 debugger;

65

66 if(file.files && file.files[0]){

67 var fileData = file.files[0];

68

69 //读取图片数据

70 var reader = new FileReader();

71 reader.onload = function (e) {

72 var data = e.target.result;

73 //加载图片获取图片真实宽度和高度

74 var image = new Image();

75 image.οnlοad=function(){

76 var width = image.width;

77 var height = image.height;

78 isAllow = width >= Max_Width && height >= Max_Height;

79 showTip2(isAllow);

80 };

81 image.src= data;

82 };

83 reader.readAsDataURL(fileData);

84

85 }else{

86 //IE下使用滤镜来处理图片尺寸控制

87 //文件name中IE下是完整的图片本地路径

88 var input = D.get('#uploader');

89 //var input = uploader.get('target').all('input').getDOMNode();

90 input.select();

91 //确保IE9下,不会出现因为安全问题导致无法访问

92 input.blur();

93 var src = document.selection.createRange().text;

94 var img = $('').appendTo('body').getDOMNode();

95 img.filters.item('DXImageTransform.Microsoft.AlphaImageLoader').src = src;

96 var width = img.offsetWidth;

97 var height = img.offsetHeight;

98 $(img).remove();

99

100 isAllow = width >= Max_Width && height >= Max_Height;

101 showTip2(isAllow);

102 }

103

104 }

105

106 function showTip1(isAllow){

107 var tipEl = D.get('#tip1'),

108 html = '';

109 if(isAllow){

110 html = '大小通过';

111 }else{

112 html = '大小未通过,要求'+ Max_Size +'';

113 }

114 D.html(tipEl,html);

115 }

116

117 function showTip2(isAllow){

118 var tipEl = D.get('#tip2'),

119 html = '';

120

121 if(isAllow){

122 html += '宽高通过';

123 }else{

124 html += '宽高未通过,要求width:'+ Max_Width +', height:'+ Max_Height;

125 }

126 D.html(tipEl,html);

127 }

128

129

130 })

131

132

133

134

Logo

瓜分20万奖金 获得内推名额 丰厚实物奖励 易参与易上手

更多推荐