9***@qq.com
9***@qq.com
  • 发布:2017-05-03 13:15
  • 更新:2017-05-03 18:41
  • 阅读:2181

请问下为什么在手机浏览器不能选择相册照片?

分类:MUI

我做了一个web项目我想通过手机浏览器打开从手机相册或者拍照上传图片,但是没有反应?这是为什么?如果打包成APP则可以实现!

2017-05-03 13:15 负责人:无 分享
已邀请:
LLgg

LLgg

请检查一下你的代码中间是否使用了html5+的代码,如果html5+代码在没有plus的环境下,是不能使用的,因为打包app之后,里面集成了plus的环境,所以可以使用html5+的图片上传和调用摄像头功能。(注意:html5与html5+不是同一个意思)

如果需要在web端使用图片上传功能,需要使用不依靠plus的环境的js来实现,下面是github上分享的一段代码,是不是符合你的要求,调用摄像头功能在一部分手机上面会失效,请注意兼容性。

<!DOCTYPE HTML>  
<html>  

<head>  
    <title>上传图片</title>  
    <meta charset="utf-8">  
</head>  

<body>  
    <iframe name="uploadfrm" id="uploadfrm" style="display: none;"></iframe>  
    <form name="formHead" method="post" action="" id="formHead" enctype="multipart/form-data" target="uploadfrm">  

        <div>  
            <div>  
                <input type="file" name="file_head" id="file_head" onchange="javascript:setImagePreview();" />  
            </div>  
            <div>  
                <div id="DivUp" style="display: none">  
                    <input type="submit" data-inline="true" id="BtnUp" value="确认上传" data-mini="true" />  
                </div>  
            </div>  
        </div>  
    </form>  
    <div data-role="fieldcontain">  
        <div id="localImag">  
            <img id="preview" width="-1" height="-1" style="display: none" />  
        </div>  
    </div>  

    <script type="text/javascript">  
        function setImagePreview() {  
            var preview, img_txt, localImag, file_head = document.getElementById("file_head"),  
                picture = file_head.value;  
            if (!picture.match(/.jpg|.gif|.png|.bmp/i)) return alert("您上传的图片格式不正确,请重新选择!"),  
                !1;  
            if (preview = document.getElementById("preview"), file_head.files && file_head.files[0]) preview.style.display = "block",  
                preview.style.width = "63px",  
                preview.style.height = "63px",  
                preview.src = window.navigator.userAgent.indexOf("Chrome") >= 1 || window.navigator.userAgent.indexOf("Safari") >= 1 ? window.webkitURL.createObjectURL(file_head.files[0]) : window.URL.createObjectURL(file_head.files[0]);  
            else {  
                file_head.select(),  
                    file_head.blur(),  
                    img_txt = document.selection.createRange().text,  
                    localImag = document.getElementById("localImag"),  
                    localImag.style.width = "63px",  
                    localImag.style.height = "63px";  
                try {  
                    localImag.style.filter = "progid:DXImageTransform.Microsoft.AlphaImageLoader(sizingMethod=scale)",  
                        localImag.filters.item("DXImageTransform.Microsoft.AlphaImageLoader").src = img_txt  
                } catch (f) {  
                    return alert("您上传的图片格式不正确,请重新选择!"),  
                        !1  
                }  
                preview.style.display = "none",  
                    document.selection.empty()  
            }  
            return document.getElementById("DivUp").style.display = "block",  
                !0  
        }  
    </script>  
</body>  

</html>

这是我的网站,O(∩_∩)O谢谢支持----->>中旋网ZxlmWeb

9***@qq.com

9***@qq.com (作者)

谢谢啦!请问如果想多选相册照片呢?怎么弄?

LLgg

LLgg

如果不是在plus的环境中,直接使用js在浏览器里面暂时没有办法一次性实现图片多选,
只能用伪多选,一次选择一张图片,然后再一起上传,你看一下这一个案例http://www.jq22.com/jquery-info1604

这是我的网站,O(∩_∩)O谢谢支持----->>中旋网ZxlmWeb

该问题目前已经被锁定, 无法添加新回复