{"action":"created","issue":{"url":"https://api.github.com/repos/chrsmith/html5rocks/issues/758","labels_url":"https://api.github.com/repos/chrsmith/html5rocks/issues/758/labels{/name}","comments_url":"https://api.github.com/repos/chrsmith/html5rocks/issues/758/comments","events_url":"https://api.github.com/repos/chrsmith/html5rocks/issues/758/events","html_url":"https://github.com/chrsmith/html5rocks/issues/758","id":59385714,"number":758,"title":"Any workarounds for the \"cross-origin\" problem?","user":{"login":"GoogleCodeExporter","id":9614759,"avatar_url":"https://avatars.githubusercontent.com/u/9614759?v=3","gravatar_id":"","url":"https://api.github.com/users/GoogleCodeExporter","html_url":"https://github.com/GoogleCodeExporter","followers_url":"https://api.github.com/users/GoogleCodeExporter/followers","following_url":"https://api.github.com/users/GoogleCodeExporter/following{/other_user}","gists_url":"https://api.github.com/users/GoogleCodeExporter/gists{/gist_id}","starred_url":"https://api.github.com/users/GoogleCodeExporter/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/GoogleCodeExporter/subscriptions","organizations_url":"https://api.github.com/users/GoogleCodeExporter/orgs","repos_url":"https://api.github.com/users/GoogleCodeExporter/repos","events_url":"https://api.github.com/users/GoogleCodeExporter/events{/privacy}","received_events_url":"https://api.github.com/users/GoogleCodeExporter/received_events","type":"User","site_admin":false},"labels":[{"url":"https://api.github.com/repos/chrsmith/html5rocks/labels/auto-migrated","name":"auto-migrated","color":"ededed"},{"url":"https://api.github.com/repos/chrsmith/html5rocks/labels/Priority-P2","name":"Priority-P2","color":"ededed"},{"url":"https://api.github.com/repos/chrsmith/html5rocks/labels/Type-Bug","name":"Type-Bug","color":"ededed"}],"state":"closed","locked":false,"assignee":null,"milestone":null,"comments":3,"created_at":"2015-03-01T06:53:47Z","updated_at":"2015-03-01T06:53:48Z","closed_at":"2015-03-01T06:53:47Z","body":"```\nI started working on a JS app that does simple image processing.\n\nThe main idea was to perform everything locally on user's computer, to avoid \nuploading files, waiting without the progress bar, overloading the server, etc.\n\nUnfortunately, HTML-5 is not fit to this task. The \"cross origin\" problem \nprevents any access to image pixels, unless they are uploaded to the server. \nWhich is problematic if image is 12 mpix and you don't have a symmetric DSL \nconnection. Even if the customer personally picks the file, web browser ignores \nhis request and blocks JS from executing the desired image filters. A bit \nirritating, right?\n\nSo, my question is: \nAny workaround for this problem? Something that would enable JS apps to access \nlocal images (chosen and confirmed by the user) and thus compete in \nfunctionality with desktop apps? For now I'm considering switching to Flash, \nwhich allows local processing rather than uploading to the server.\n\n\n```\n\nOriginal issue reported on code.google.com by `zex2...@gmail.com` on 3 Jan 2012 at 12:17"},"comment":{"url":"https://api.github.com/repos/chrsmith/html5rocks/issues/comments/76585064","html_url":"https://github.com/chrsmith/html5rocks/issues/758#issuecomment-76585064","issue_url":"https://api.github.com/repos/chrsmith/html5rocks/issues/758","id":76585064,"user":{"login":"GoogleCodeExporter","id":9614759,"avatar_url":"https://avatars.githubusercontent.com/u/9614759?v=3","gravatar_id":"","url":"https://api.github.com/users/GoogleCodeExporter","html_url":"https://github.com/GoogleCodeExporter","followers_url":"https://api.github.com/users/GoogleCodeExporter/followers","following_url":"https://api.github.com/users/GoogleCodeExporter/following{/other_user}","gists_url":"https://api.github.com/users/GoogleCodeExporter/gists{/gist_id}","starred_url":"https://api.github.com/users/GoogleCodeExporter/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/GoogleCodeExporter/subscriptions","organizations_url":"https://api.github.com/users/GoogleCodeExporter/orgs","repos_url":"https://api.github.com/users/GoogleCodeExporter/repos","events_url":"https://api.github.com/users/GoogleCodeExporter/events{/privacy}","received_events_url":"https://api.github.com/users/GoogleCodeExporter/received_events","type":"User","site_admin":false},"created_at":"2015-03-01T06:53:47Z","updated_at":"2015-03-01T06:53:47Z","body":"```\nThanks for the suggestion. I just tried it. And immediately bumped into a \nproblem. \n\nThe <input type=\"file\"> field cannot return full path to a file. So if I have \nan image file with the following path \"samples/image1.jpg\" and the user picks \nit, I cannot get the full path to the file. Which means the reader can't load \nit.\n\nBrowsing for a file returns the files array. This array should contain the full \nfile path, but unfortunately I can't access this information.\n\nWhen I access the files[0].name property, result is \"image1.jpg\". Directory is \nmissing. Should return \"samples/image1.jpg\". File reader cannot read a file \nwithout the proper path.\n\nThe mozFullPath property contains the full path when I watch it in debugger \n(FireBug). But when I access it from the code, files[0].mozFullPath returns an \nempty string. No luck again.\n\n```\n\nOriginal comment by `zex2...@gmail.com` on 11 Feb 2012 at 12:32"}}