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>
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('imageFile').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('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); };
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!