你的代码大概有两个问题:
1.不要使用hidden来隐藏type=file的input,而是使用opacity:0
<style>
input[type=file]{
opacity: 0
}
</style>
<input type="file" name="appfile[]" id="f0" onchange="preImg(this.id,'imgPre0');"/>
<input type="file" name="appfile[]" id="f1" onchange="preImg(this.id,'imgPre1');"/>
<input type="file" name="appfile[]" id="f2" onchange="preImg(this.id,'imgPre2');"/>
<input type="file" name="appfile[]" id="f3" onchange="preImg(this.id,'imgPre3');"/>
<input type="file" name="appfile[]" id="f4" onchange="preImg(this.id,'imgPre4');"/>
<input type="file" name="appfile[]" id="f5" onchange="preImg(this.id,'imgPre5');"/>
<input type="file" name="appfile[]" id="f6" onchange="preImg(this.id,'imgPre6');"/>
<input type="file" name="appfile[]" id="f7" onchange="preImg(this.id,'imgPre7');"/>
<input type="file" name="appfile[]" id="f8" onchange="preImg(this.id,'imgPre8');"/>
<input type="text" name="t" id="t" value="" hidden="hidden"/>
<input type="text" name="u" id="u" value="" hidden="hidden"/>
<input type="submit" id="btnImgAdd" hidden="hidden"/>
- 在android用FileReader的readAsDataURL时,读取到的base64格式有可能是错误的。需要你自己修复一下:
reader.onload = function(e) {
var img = document.getElementById(targetId);
var imgType = 'jpeg';//需要识别一下当前选中img的type
//android上读取到的base64格式有可能不正确,需要自己替换一下
var base64 = this.result.replace('data:base64,', 'data:image\/'+imgType+';base64,')
img.src = base64;
}
江夏 (作者)
其实我也觉得很乱,说是webapp,但更像是网页,只是把网页的链接放到安卓跟IOS上,使用起来像是一个APP。之所以是这样,主要是因为要满足微信跟QQ分享
2015-01-20 16:22