【问题标题】:Image can't display on <input type="file" > Android 4.0.4图片无法在 <input type="file" > Android 4.0.4 上显示
【发布时间】:2013-08-01 19:52:30
【问题描述】:

我想用 html 上传图片,但总是失败。我通过 console.log 检查它会生成以下消息。

07-31 19:09:07.071: I/Web Console(16417): size:66797 at file:///android_asset/www/index.html:18
07-31 19:09:07.091: I/Web Console(16417): lastModifiedDate:Tue Jul 30 2013 03:44:18 GMT+0700 (WIT) at file:///android_asset/www/index.html:18
07-31 19:09:07.101: I/Web Console(16417): fileSize:66797 at file:///android_asset/www/index.html:18
07-31 19:09:07.111: I/Web Console(16417): name:1375130658314.jpg at file:///android_asset/www/index.html:18
07-31 19:09:07.121: I/Web Console(16417): type: at file:///android_asset/www/index.html:18
07-31 19:09:07.121: I/Web Console(16417): fileName:1375130658314.jpg at file:///android_asset/www/index.html:18
07-31 19:09:07.121: I/Web Console(16417): webkitSlice:function webkitSlice() { [native code] } at file:///android_asset/www/index.html:18

我发现“类型”属性是空的。它发生在android 4.0.4。

但在 4.1.2 和 4.1.3 上都可以。

关于这个问题有什么线索吗?

--

<!doctype html>
<html>
<head>
<meta content="text/html; charset=UTF-8" http-equiv="Content-Type" />
<title>Image preview example</title>
<script type="text/javascript">
oFReader = new FileReader(), 
rFilter = /^(?:image\/bmp|image\/cis\-cod|image\/gif|image\/ief|image\/jpeg|image\/jpeg|image\/jpeg|image\/pipeg|image\/png|image\/svg\+xml|image\/tiff|image\/x\-cmu\-raster|image\/x\-cmx|image\/x\-icon|image\/x\-portable\-anymap|image\/x\-portable\-bitmap|image\/x\-portable\-graymap|image\/x\-portable\-pixmap|image\/x\-rgb|image\/x\-xbitmap|image\/x\-xpixmap|image\/x\-xwindowdump)$/i;

oFReader.onload = function (oFREvent) {
   document.getElementById('preview').src = oFREvent.target.result;
};

function loadImageFile() {
  if (document.getElementById("uploadImage").files.length === 0) { return; }
  var oFile = document.getElementById("uploadImage").files[0];
  for(var x in oFile)
    console.log(x+":"+oFile[x]);
  oFReader.readAsDataURL(oFile);
}
</script>
</head>

<body >
  <form name="uploadForm">
    <table>
      <tbody>
        <tr>
         <img id="preview" style="width: 100px; height: 100px;" src="" alt="Image preview" />

          <td><input id="uploadImage" type="file" name="myPhoto" onchange="loadImageFile()" /></td>
        </tr>
      </tbody>
    </table>

    <p><input type="submit" value="Send" /></p>
  </form>
</body>
</html>

【问题讨论】:

    标签: android html cordova


    【解决方案1】:

    你试过了吗? &lt;input type="file" name="photo" accept="image/*" capture="camera"&gt;

    从这里得到它:Does the android web browser allow uploading photos just taken from camera?

    有(有?)问题:https://code.google.com/p/android/issues/detail?id=2519

    我为基于 Android 的 PhoneGap 的应用尝试过一次,但没有让它工作(虽然没有尝试上面的 html 行。我在互联网上发现当时不可能(大约上传图片以用作应用和网站中的头像)。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2016-01-22
      • 2010-11-27
      • 2012-09-20
      • 2016-03-18
      • 2010-12-16
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多