HTML5实现简单图片上传所遇到的问题及解决办法

2019-10-25 11:19:39 织梦安装使用
  • 文章介绍
 一、展示
因为前端上传文件是必须通过form表单的,不能使用ajax,这样的话一个移动页面放入一个type为file的input真心不怎么好看,如下图,很挫有没有

解决办法找了下,PC上有些是把这个input换成flash,采用jquery的工具库比如uploadify来做,但是移动端大部分浏览器是不支持flash的。所以最后采用的办法还是用form表单的形式,只是把这个form和input的透明度设置为0,让它们和准备显示的内容同时在一个div中,显示的内容可以做成自己想要的样子。代码如下:

复制代码
代码如下:












上传图片








样子如上图,这样展现就在“上传图片”这个p标签中,点击它就有选择file的效果

二、JS代码
我这边写的蛮简单的,只是用了下h5上传的的基本功能
html代码如下,action为要请求的路径,我这边做的是当文件发生改变时就上传修改头像,input标签的name属性不能省去,具体跟后端接口有关

复制代码
代码如下:




var iMaxFilesize = 2097152; //2M
window.fileSelected = function() {
var oFile = document.getElementById(imageFile).files0; //读取文件
var rFilter = /^(image/bmp|image/gif|image/jpeg|image/png|image/tiff)$/i;
if (!rFilter.test(oFile.type)) {
alert("文件格式必须为图片");
return;
}
if (oFile.size > iMaxFilesize) {
alert("图片大小不能超过2M");
return;
}
var vFD = new FormData(document.getElementById(uploadForm)), //建立请求和数据
oXHR = new XMLHttpRequest();
oXHR.addEventListener(load, function(resUpload) {
//成功
}, false);
oXHR.addEventListener(error, function() {
//失败
}, false);
oXHR.addEventListener(abort, function() {
//上传中断
}, false);
oXHR.open(POST, actionUrl);
oXHR.send(vFD);
};

以上内容给大家分享了HTML5实现简单图片上传所遇到的问题及解决办法的相关知识,希望对大家有所帮助。

上一篇:HTML5手机端弹出遮罩菜单特效代码..

下一篇:Html5实现二维码扫描并解析..

专业的织梦模板定制下载站,在线购买后即可下载!

商业源码

跟版网模板,累计帮助5000+客户企业成功建站,为草根创业提供助力!

立刻开启你的建站之旅

QQ在线客服

服务热线

织梦建站咨询