[{"data":1,"prerenderedAt":60},["ShallowReactive",2],{"$f37o8ieri3qm0e":3,"recommended":29},{"title":4,"path":5,"date":6,"updated":7,"tags":8,"excerpt":10,"readingMinutes":11,"commentCount":12,"html":13,"comments":14,"next":23,"prev":26},"Default HTML5 camera input broken on Android \u002F Chrome","\u002F2020\u002F10\u002Fdefault-html5-camera-input-broken-on\u002F","2020-10-21T16:29:00.004Z","2020-10-22T07:10:32.581Z",[9],"how-to","I'm trying to create a simple web app for smartphones that lets the camera app take a picture. The standard html5 is super simple: \u003Cinput type=\"file\" https:\u002F\u002Fdeveloper.mozilla.org\u002Fen-US\u002Fdocs\u002FWeb\u002FHTML\u002FElement\u002Finput\u002Ffile…",1,2,"\u003Cp>I'm trying to create a simple web app for smartphones that lets the camera app take a picture.\u003C\u002Fp>\n\u003Cp>The standard html5 is super simple:\u003C\u002Fp>\n\u003Cblockquote>\n\u003Cp>&lt;input type=&quot;file&quot;\u003C\u002Fp>\n\u003Cpre>\u003Ccode>   accept=&quot;image\u002Fpng, image\u002Fjpeg&quot;&gt;\n\u003C\u002Fcode>\u003C\u002Fpre>\n\u003C\u002Fblockquote>\n\u003Cp>\u003Ca href=\"https:\u002F\u002Fdeveloper.mozilla.org\u002Fen-US\u002Fdocs\u002FWeb\u002FHTML\u002FElement\u002Finput\u002Ffile\">https:\u002F\u002Fdeveloper.mozilla.org\u002Fen-US\u002Fdocs\u002FWeb\u002FHTML\u002FElement\u002Finput\u002Ffile\u003C\u002Fa>\u003C\u002Fp>\n\u003Cp>So I tried this.\u003C\u002Fp>\n\u003Cblockquote>\n\u003Cp>$ cat index.html\u003C\u002Fp>\n\u003C!doctype html>\n\u003Chtml>\n\u003Cpre>\u003Ccode>&lt;body&gt;\n\n    &lt;form action=&quot;\u002Fstore-image\u002F&quot;&gt;\n\n        &lt;label for=&quot;img&quot;&gt;Select image:&lt;\u002Flabel&gt;\n\n        &lt;input type=&quot;file&quot; id=&quot;img&quot; name=&quot;img&quot; accept=&quot;image\u002F\\*&quot; capture=&quot;camera&quot;&gt;\n\n        &lt;input type=&quot;submit&quot;&gt;\n\n    &lt;\u002Fform&gt;\n\n&lt;\u002Fbody&gt;\n\u003C\u002Fcode>\u003C\u002Fpre>\n\u003C\u002Fhtml>\n\u003C\u002Fblockquote>\n\u003Cblockquote>\n\u003Cp>$ python3 -m http.server\u003C\u002Fp>\n\u003C\u002Fblockquote>\n\u003Cp>I go to my phone.\u003C\u002Fp>\n\u003Cp>\u003Cimg src=\"\u002Fimages\u002F2020\u002F10\u002Fdefault-html5-camera-input-broken-on\u002F4214caba-screenshot-20201021-175638.png\" alt=\"\" loading=\"lazy\">\u003C\u002Fp>\n\u003Cp>Camera pops up, I submit the picture, and ...\u003C\u002Fp>\n\u003Cp>\u003Cimg src=\"\u002Fimages\u002F2020\u002F10\u002Fdefault-html5-camera-input-broken-on\u002Fe428a44e-screenshot-20201021-175656.png\" alt=\"\" loading=\"lazy\">\u003C\u002Fp>\n\u003Cp>&quot;Unable to complete previous operation due to low memory&quot;.\u003C\u002Fp>\n\u003Cp>Ok, the simplest stock html5 sample doesn't work. Weird. I have a simple Moto G7 Play running Android 10. A 1.5 year old cheap Android phone, just like 80% of the world uses. My memory usage is really not special.\u003C\u002Fp>\n\u003Cp>What do Google and Stackoverflow say?\u003C\u002Fp>\n\u003Cp>\u003Cimg src=\"\u002Fimages\u002F2020\u002F10\u002Fdefault-html5-camera-input-broken-on\u002F36f03f49-screenshot-from-2020-10-21-18-15-17.png\" alt=\"\" loading=\"lazy\">\u003C\u002Fp>\n\u003Cp>\u003Ca href=\"https:\u002F\u002Fc.realme.com\u002Fin\u002Fpost-details\u002F1317318985611476992\">https:\u002F\u002Fc.realme.com\u002Fin\u002Fpost-details\u002F1317318985611476992\u003C\u002Fa>\u003C\u002Fp>\n\u003Cp>Great, I'll tell my users to go to &quot;Free up the ram&quot;. Even if I would do that, it doesn't work.\u003C\u002Fp>\n\u003Cp>Or this one from 2017.\u003C\u002Fp>\n\u003Cp>\u003Cimg src=\"\u002Fimages\u002F2020\u002F10\u002Fdefault-html5-camera-input-broken-on\u002F1063a7e3-screenshot-from-2020-10-21-18-18-29.png\" alt=\"\" loading=\"lazy\">\u003C\u002Fp>\n\u003Cp>\u003Ca href=\"https:\u002F\u002Fmavislibrary.blogspot.com\u002F2017\u002F07\u002Fsolution-to-unable-to-complete-previous-operation-due-to-low-memory-solution.html\">https:\u002F\u002Fmavislibrary.blogspot.com\u002F2017\u002F07\u002Fsolution-to-unable-to-complete-previous-operation-due-to-low-memory-solution.html\u003C\u002Fa>\u003C\u002Fp>\n\u003Cp>Sure, I'll tell my users to switch to another browser! Or to enable Developer Options and select an arcane option in the hidden menu! I have to say that both of these do actually work so they're better than the previous solution.\u003C\u002Fp>\n\u003Cp>So what the hell? The simplest html5 example doesn't work for 80% of the Android users? Honestly I'm pulling the number out of thin air, but I think it's reasonable to assume that 80% of the world has a crappier phone than myself. If you Google some more, you'll see that all kinds of people have come up with the &quot;Developer Option&quot; workaround. There is no real solution. My guess is that everyone has given up and switched to camera capture from within the browser, or maybe that most developers are using phones that don't have this problem.\u003C\u002Fp>\n",[15,19],{"author":16,"date":17,"html":18},"Anonymous","2025-07-30T21:34:02.508+02:00","2025, did you solve it?\u003Cbr \u002F>",{"author":20,"date":21,"html":22},"Jouke Waleson","2025-08-01T11:19:40.623+02:00","No clue, moved on to a couple of newer phones in the meantime.",{"title":24,"path":25},"AI Text-to-Speech models have accents too","\u002F2021\u002F07\u002Ftext-to-speech-models-have-accents-too\u002F",{"title":27,"path":28},"Comments as first class citizens","\u002F2019\u002F06\u002Fcomments-as-first-class-citizens\u002F",[30,35,40,43,47,50,53,57],{"title":31,"path":32,"note":33,"series":34},"Mapping out Dark Code","\u002F2026\u002F03\u002Fmapping-out-dark-code\u002F","2026",false,{"title":36,"path":37,"note":38,"series":39},"The software that I love","\u002F2022\u002F10\u002Fthe-software-that-i-love\u002F","Series · 36 posts",true,{"title":41,"path":42,"note":33,"series":34},"Navigating the Fog of War: Age of Empires, AI Agents, and the Rise of Dark Code","\u002F2026\u002F05\u002Fnavigating-fog-of-war-age-of-empires-ai\u002F",{"title":44,"path":45,"note":46,"series":34},"The Future of Programming Systems - four thoughts","\u002F2024\u002F09\u002Fthe-future-of-programming-systems-four\u002F","2024",{"title":48,"path":49,"note":46,"series":34},"Always Optimize the Feedback Loop","\u002F2024\u002F07\u002Falways-optimize-feedback-loop\u002F",{"title":51,"path":52,"note":46,"series":34},"\"Security Is Our Top Priority\" is BS","\u002F2024\u002F07\u002Fsecurity-is-our-top-priority-is-bs\u002F",{"title":54,"path":55,"note":56,"series":34},"10x teams","\u002F2025\u002F02\u002F10x-teams\u002F","2025",{"title":58,"path":59,"note":56,"series":34},"Hiring, from the Other Side","\u002F2025\u002F10\u002Fhiring-from-other-side\u002F",1792876809041]