数码资讯
HTML5有实现实时上传照片功能的实例代码
本文主要介绍了HTML5的功能有上传图片的瞬间,因为这个项目只需要超过IE9,所以没有IE8写。 以下是IE9预览下实现的,这是不同于IE8,但我记得IE8似乎使用滤波器的功能,因为这个项目只需要超过IE9,所以不写了IE8。 复制代码代码如下所示: 文件 # KK { 宽度:400px; 身高:4
选购提示
关注价格、性能、续航、售后和真实使用场景,理性比较后再下单。
本文主要介绍了HTML5的功能有上传图片的瞬间,因为这个项目只需要超过IE9,所以没有IE8写。
以下是IE9预览下实现的,这是不同于IE8,但我记得IE8似乎使用滤波器的功能,因为这个项目只需要超过IE9,所以不写了IE8。
复制代码代码如下所示:
文件
# KK {
宽度:400px;
身高:400px;
溢出:隐藏;
}
# preview_wrapper {
宽度:300px;
身高:300px;
背景颜色:# CCC;
溢出:隐藏;
}
的# preview_fake {对象是用来显示预览图片 / * * /伊江
过滤器:ProgID:DXImageTransform.Microsoft.AlphaImageLoader(sizingmethod =规模);
宽度:300px;
溢出:隐藏;
}
# preview_size_fake { / *对象只在伊江得到原始大小的图片,没有其他目的。
过滤器:ProgID:DXImageTransform.Microsoft.AlphaImageLoader(sizingmethod =图像);
宽度:300px;
可见性:隐藏;
溢出:隐藏;
}
的#预览{对象是用来显示预览图片 / * * / FF
宽度:300px;
身高:300px;
溢出:隐藏;
}
功能onuploadimgchange(发送者){
如果(!sender.value.match( / .jpg | .gif |。PNG |。BMP /我)){
警报(图像格式是无效的!);
返回false;
}
无功objpreview = document.getelementbyid('preview);
无功objpreviewfake = document.getelementbyid('preview_fake);
无功objpreviewsizefake = document.getelementbyid('preview_size_fake);
如果(sender.files发件人。文件{ 0 }){ / /有Chrome和FF兼容。
objpreview.style.display =阻止;
objpreview.style.width =汽车;
objpreview.style.height =汽车;
Firefox的安全问题一直无法直接通过输入{文件}值获得完整的文件路径。
objpreview.src =发件人。文件{ 0 }。getasdataurl();
} else if(objpreviewfake。过滤器){
/ / IE7,IE8出现莫名其妙的后果在本地图片地址设置img.src
(相同的环境有时可以显示,有时不显示),它只能用来解决过滤器。
IE8 / / IE7,由于安全问题,不能直接通过输入{文件},得到完整的文件路径值
sender.select();
sender.blur();
无功imgsrc = document.selection.createrange(文本);
ObjPreviewFake.filters.item('dximagetransform。微软。AlphaImageLoadersrc= imgsrc);
ObjPreviewSizeFake.filters.item('dximagetransform。微软。AlphaImageLoadersrc= imgsrc);
警报()成功选择图片!;
警报(objpreviewsizefake。offsetwidth);
autosizepreview(objpreviewfake,objpreviewsizefake.offsetwidth,objpreviewsizefake。offsetheight);
objpreview.style.display =不关;
}
}
功能onpreviewload(发送者){
autosizepreview(发送者,sender.offsetwidth,发件人。offsetheight);
}
功能autosizepreview(objpre,originalwidth,originalheight){
无功zoomparam = clacimgzoomparam(300, 300,originalwidth,originalheight);
objpre.style.width = zoomparam.width + 'px;
objpre.style.height = zoomparam.height + 'px;
objpre.style.margintop = zoomparam.top + 'px;
objpre.style.marginleft = zoomparam.left + 'px;
}
功能clacimgzoomparam(最大,最大高度,宽度,高度){
var参数= { {宽度:宽度,高度:高度、顶:0,左:0 };
如果(宽度>maxwidth | |高度>最大高度){
ratewidth = /最大宽度;
rateheight =身高 /最大高度;
如果(ratewidth > rateheight){
param.width =最大;
param.height =身高 / ratewidth;
其他{ }
param.width =宽度/ rateheight;
param.height =最大高度;
}
}
param.left =(最大宽度参数。) / 2;
param.top =(最大高度参数。高度) / 2;
返回参数;
}
以下是IE9预览下实现的,这是不同于IE8,但我记得IE8似乎使用滤波器的功能,因为这个项目只需要超过IE9,所以不写了IE8。
复制代码代码如下所示:
文件
# KK {
宽度:400px;
身高:400px;
溢出:隐藏;
}
# preview_wrapper {
宽度:300px;
身高:300px;
背景颜色:# CCC;
溢出:隐藏;
}
的# preview_fake {对象是用来显示预览图片 / * * /伊江
过滤器:ProgID:DXImageTransform.Microsoft.AlphaImageLoader(sizingmethod =规模);
宽度:300px;
溢出:隐藏;
}
# preview_size_fake { / *对象只在伊江得到原始大小的图片,没有其他目的。
过滤器:ProgID:DXImageTransform.Microsoft.AlphaImageLoader(sizingmethod =图像);
宽度:300px;
可见性:隐藏;
溢出:隐藏;
}
的#预览{对象是用来显示预览图片 / * * / FF
宽度:300px;
身高:300px;
溢出:隐藏;
}
功能onuploadimgchange(发送者){
如果(!sender.value.match( / .jpg | .gif |。PNG |。BMP /我)){
警报(图像格式是无效的!);
返回false;
}
无功objpreview = document.getelementbyid('preview);
无功objpreviewfake = document.getelementbyid('preview_fake);
无功objpreviewsizefake = document.getelementbyid('preview_size_fake);
如果(sender.files发件人。文件{ 0 }){ / /有Chrome和FF兼容。
objpreview.style.display =阻止;
objpreview.style.width =汽车;
objpreview.style.height =汽车;
Firefox的安全问题一直无法直接通过输入{文件}值获得完整的文件路径。
objpreview.src =发件人。文件{ 0 }。getasdataurl();
} else if(objpreviewfake。过滤器){
/ / IE7,IE8出现莫名其妙的后果在本地图片地址设置img.src
(相同的环境有时可以显示,有时不显示),它只能用来解决过滤器。
IE8 / / IE7,由于安全问题,不能直接通过输入{文件},得到完整的文件路径值
sender.select();
sender.blur();
无功imgsrc = document.selection.createrange(文本);
ObjPreviewFake.filters.item('dximagetransform。微软。AlphaImageLoadersrc= imgsrc);
ObjPreviewSizeFake.filters.item('dximagetransform。微软。AlphaImageLoadersrc= imgsrc);
警报()成功选择图片!;
警报(objpreviewsizefake。offsetwidth);
autosizepreview(objpreviewfake,objpreviewsizefake.offsetwidth,objpreviewsizefake。offsetheight);
objpreview.style.display =不关;
}
}
功能onpreviewload(发送者){
autosizepreview(发送者,sender.offsetwidth,发件人。offsetheight);
}
功能autosizepreview(objpre,originalwidth,originalheight){
无功zoomparam = clacimgzoomparam(300, 300,originalwidth,originalheight);
objpre.style.width = zoomparam.width + 'px;
objpre.style.height = zoomparam.height + 'px;
objpre.style.margintop = zoomparam.top + 'px;
objpre.style.marginleft = zoomparam.left + 'px;
}
功能clacimgzoomparam(最大,最大高度,宽度,高度){
var参数= { {宽度:宽度,高度:高度、顶:0,左:0 };
如果(宽度>maxwidth | |高度>最大高度){
ratewidth = /最大宽度;
rateheight =身高 /最大高度;
如果(ratewidth > rateheight){
param.width =最大;
param.height =身高 / ratewidth;
其他{ }
param.width =宽度/ rateheight;
param.height =最大高度;
}
}
param.left =(最大宽度参数。) / 2;
param.top =(最大高度参数。高度) / 2;
返回参数;
}
声明:本文内容用于数码产品信息整理与选购参考,具体价格、库存、售后政策以官方渠道和电商页面实时信息为准。