{"action":"created","issue":{"url":"https://api.github.com/repos/dart-lang/http_server/issues/11","labels_url":"https://api.github.com/repos/dart-lang/http_server/issues/11/labels{/name}","comments_url":"https://api.github.com/repos/dart-lang/http_server/issues/11/comments","events_url":"https://api.github.com/repos/dart-lang/http_server/issues/11/events","html_url":"https://github.com/dart-lang/http_server/issues/11","id":85648182,"number":11,"title":"http_server uploaded file handling","user":{"login":"DartBot","id":8958862,"avatar_url":"https://avatars.githubusercontent.com/u/8958862?v=3","gravatar_id":"","url":"https://api.github.com/users/DartBot","html_url":"https://github.com/DartBot","followers_url":"https://api.github.com/users/DartBot/followers","following_url":"https://api.github.com/users/DartBot/following{/other_user}","gists_url":"https://api.github.com/users/DartBot/gists{/gist_id}","starred_url":"https://api.github.com/users/DartBot/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/DartBot/subscriptions","organizations_url":"https://api.github.com/users/DartBot/orgs","repos_url":"https://api.github.com/users/DartBot/repos","events_url":"https://api.github.com/users/DartBot/events{/privacy}","received_events_url":"https://api.github.com/users/DartBot/received_events","type":"User","site_admin":false},"labels":[{"url":"https://api.github.com/repos/dart-lang/http_server/labels/Accepted","name":"Accepted","color":"ededed"},{"url":"https://api.github.com/repos/dart-lang/http_server/labels/bug","name":"bug","color":"fc2929"}],"state":"open","locked":false,"assignee":{"login":"skabet","id":22043,"avatar_url":"https://avatars.githubusercontent.com/u/22043?v=3","gravatar_id":"","url":"https://api.github.com/users/skabet","html_url":"https://github.com/skabet","followers_url":"https://api.github.com/users/skabet/followers","following_url":"https://api.github.com/users/skabet/following{/other_user}","gists_url":"https://api.github.com/users/skabet/gists{/gist_id}","starred_url":"https://api.github.com/users/skabet/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/skabet/subscriptions","organizations_url":"https://api.github.com/users/skabet/orgs","repos_url":"https://api.github.com/users/skabet/repos","events_url":"https://api.github.com/users/skabet/events{/privacy}","received_events_url":"https://api.github.com/users/skabet/received_events","type":"User","site_admin":false},"milestone":null,"comments":9,"created_at":"2015-06-05T22:32:24Z","updated_at":"2015-06-05T22:32:26Z","closed_at":null,"body":"_Originally opened as dart-lang/sdk#14303_\n\n*This issue was originally filed by TerryMit...&#064;gmail.com*\n_____\nCurrent http_body implementation decodes / parses HttpBodyFileUpload.content based upon the Content-Type header of the part.\n\nHowever, file server applications need raw uploaded file data. Such applications save received files into their file system with no modification. I think we need a switch to disable decoding / parsing for all content types and just return type List&lt;int&gt; object as HttpBodyFileUpload.content.\n\nAnother solution would be to return simply List&lt;int&gt; for all uploaded files. I am not sure how much the impact of this on other kinds of applications. However, when a .json file was uploaded from HTML form, IE sends it as “Content-Type: text/plain” and Chrome, Firefox and Safari send it as “Content-Type: application/octet-stream” (I don’t know why). In any case, .json files uploaded through HTML form will never be parsed.\n\nRegarding to the filename with multibyte characters, although Windows uses UTF-8, I think it might be safe to keep LATIN1 decoding. I am not familiar with other file systems. We can retrieve it using UTF8.decode(LATIN1.encode(part.filename)) with Windows, assuming that the LATIN1.decode(bytes) simply generates a String that has the same byte character to corresponding byte of bytes.\n"},"comment":{"url":"https://api.github.com/repos/dart-lang/http_server/issues/comments/109466251","html_url":"https://github.com/dart-lang/http_server/issues/11#issuecomment-109466251","issue_url":"https://api.github.com/repos/dart-lang/http_server/issues/11","id":109466251,"user":{"login":"DartBot","id":8958862,"avatar_url":"https://avatars.githubusercontent.com/u/8958862?v=3","gravatar_id":"","url":"https://api.github.com/users/DartBot","html_url":"https://github.com/DartBot","followers_url":"https://api.github.com/users/DartBot/followers","following_url":"https://api.github.com/users/DartBot/following{/other_user}","gists_url":"https://api.github.com/users/DartBot/gists{/gist_id}","starred_url":"https://api.github.com/users/DartBot/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/DartBot/subscriptions","organizations_url":"https://api.github.com/users/DartBot/orgs","repos_url":"https://api.github.com/users/DartBot/repos","events_url":"https://api.github.com/users/DartBot/events{/privacy}","received_events_url":"https://api.github.com/users/DartBot/received_events","type":"User","site_admin":false},"created_at":"2015-06-05T22:32:25Z","updated_at":"2015-06-05T22:32:25Z","body":"*This comment was originally written by TerryMit...&#064;gmail.com*\n_____\nI think this will give us more flexible POST body data handling."}}