Home > Web Front-end > HTML Tutorial > Problems and solutions encountered in implementing simple image upload in HTML5

Problems and solutions encountered in implementing simple image upload in HTML5

不言
Release: 2018-05-08 15:58:00
Original
1919 people have browsed it

This article mainly introduces relevant information on the problems and solutions encountered in implementing simple image uploads in HTML5. Friends who need it can refer to the following 1. Display
Because uploading files on the front end is necessary Through the form form, ajax cannot be used. In this case, putting an input of type file into a mobile page really does not look very good, as shown below, it is very frustrating.

I searched for a solution. Some PCs replace this input with flash and use jquery tool libraries such as uploadify to do it. However, most browsers on the mobile side do not support flash. So the final method is to use the form form, just set the transparency of the form and input to 0, so that they and the content to be displayed are in a p at the same time, and the displayed content can be made to look like you want. The code is as follows:

Copy code

The code is as follows:

<!DOCTYPE html> 
<html> 
<head> 
<meta charset="UTF-8"> 
<meta name="viewport" content="width=device-width,initial-scale=1.0,user-scalable=no"> 
<title></title> 
<style> 
p{width: 100%;} 
.logo img{display:block; margin:0 auto;} 
.upload{position: relative;width: 80px;height: 18px;line-height: 18px;background: #2fc7c9;text-align: center; 
color: #FFF;padding: 0px 5px;-webkit-border-radius: 2px;border-radius: 2px; 
margin: 0 auto; 
} 
.upload form{width:100%;position:absolute; left:0; top:0;opacity:0; filter:alpha(opacity=0);} 
.upload form input{width: 100%;} 
</style> 
</head> 
<body> 
<p class="logo"> 
<img src="img/1.jpg" /> 
</p> 
<p class="upload"> 
<p>上传图片</p> 
<form> 
<input type="file" /> 
</form> 
</p> 
</body> 
</html>
Copy after login


It looks like the picture above. It is displayed in the p tag of "Upload Image". Clicking it will have the effect of selecting file

2. JS code
My The writing is quite simple. I just use the basic function of h5 upload.
The html code is as follows. Action is the path to be requested. What I do here is to upload and modify the avatar and input tag when the file changes. The name attribute cannot be omitted, it is specifically related to the back-end interface

Copy code

The code is as follows:

<form id="uploadForm" enctype="multipart/form-data" method="post" action="XXXXXX"> 
<input type="file" name="imageFile" id="imageFile" onchange="fileSelected()" /> 
</form> 
var iMaxFilesize = 2097152; //2M 
window.fileSelected = function() { 
var oFile = document.getElementById(&#39;imageFile&#39;).files[0]; //读取文件 
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(&#39;uploadForm&#39;)), //建立请求和数据 
oXHR = new XMLHttpRequest(); 
oXHR.addEventListener(&#39;load&#39;, function(resUpload) { 
//成功 
}, false); 
oXHR.addEventListener(&#39;error&#39;, function() { 
//失败 
}, false); 
oXHR.addEventListener(&#39;abort&#39;, function() { 
//上传中断 
}, false); 
oXHR.open(&#39;POST&#39;, actionUrl); 
oXHR.send(vFD); 
};
Copy after login

The above content has shared with you the relevant knowledge about the problems and solutions encountered in implementing simple image upload in HTML5. I hope it will be helpful to everyone.

Related recommendations:

Html5 implements QR code scanning and parsing

HTML5 implements sharing to WeChat friends circle QQ friends QQ space Weibo QR code function

The above is the detailed content of Problems and solutions encountered in implementing simple image upload in HTML5. For more information, please follow other related articles on the PHP Chinese website!

Related labels:
source:php.cn
Statement of this Website
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn
Popular Tutorials
More>
Latest Downloads
More>
Web Effects
Website Source Code
Website Materials
Front End Template