{"id":3064,"date":"2018-08-29T18:26:15","date_gmt":"2018-08-29T10:26:15","guid":{"rendered":"http:\/\/www.daliane.com\/?p=3064"},"modified":"2018-08-29T18:27:13","modified_gmt":"2018-08-29T10:27:13","slug":"html5_filereader_du_qu_txt_wen_jian","status":"publish","type":"post","link":"http:\/\/www.daliane.com\/category\/jinjiaoyou\/html5_filereader_du_qu_txt_wen_jian\/","title":{"rendered":"HTML5 FileReader \u8bfb\u53d6txt\u6587\u4ef6"},"content":{"rendered":"<h2 id=\"js\u8bfb\u53d6\u672c\u5730txt\" style=\"font-size:24px;color:#4F4F4F;font-family:-apple-system, &quot;background-color:#FFFFFF;\">\n\tJS\u8bfb\u53d6\u672c\u5730txt<br \/>\n<\/h2>\n<p style=\"font-size:16px;color:#4F4F4F;text-align:justify;font-family:-apple-system, &quot;background-color:#FFFFFF;\">\n\t\u6700\u8fd1\u6709\u4ece\u672c\u5730\u8bfb\u53d6txt\u6587\u4ef6\u7684\u9700\u8981\uff0c\u5948\u4f55\u7f51\u4e0a\u641c\u7d22js\u8bfb\u53d6\u672c\u5730txt\uff0c\u90fd\u662f\u65b0\u5efa\u4e00\u4e2afso\u5bf9\u8c61\uff0c\u5373\uff08FileSystemObject\uff09\u3002\u81ea\u5df1\u8bd5\u4e86\u534a\u5929\u4e0d\u597d\u4f7f\uff08\u540e\u6765\u53d1\u73b0\u8c8c\u4f3c\u53ea\u80fd\u5728IE\u4e0a\u8dd1\uff09\u3002\u4e8e\u662f\u4f7f\u7528H5\u7684fileReader\u6765\u89e3\u51b3\u95ee\u9898\u3002\n<\/p>\n<h3 id=\"filereader-api\" style=\"font-size:22px;color:#4F4F4F;font-family:-apple-system, &quot;background-color:#FFFFFF;\">\n\t<a name=\"t1\"><\/a>fileReader Api<br \/>\n<\/h3>\n<p style=\"font-size:16px;color:#4F4F4F;text-align:justify;font-family:-apple-system, &quot;background-color:#FFFFFF;\">\n\tflieReader \u4e09\u79cd\u72b6\u6001\uff1a&nbsp;<br \/>\nFileReader.readyState:0,1,2\n<\/p>\n<ul style=\"color:#333333;font-family:-apple-system, &quot;font-size:14px;background-color:#FFFFFF;\">\n<li>\n\t\t0:empty ,\u6ca1\u6709\u6587\u4ef6\u88abload\uff0c\u4e3a\u7a7a\u3002\n\t<\/li>\n<li>\n\t\t1:loading,\u6587\u4ef6\u6b63\u5728\u88ab\u52a0\u8f7d\u3002\n\t<\/li>\n<li>\n\t\t2:done,\u8bfb\u53d6\u8bf7\u6c42\u5b8c\u6210\u3002\n\t<\/li>\n<\/ul>\n<p style=\"font-size:16px;color:#4F4F4F;text-align:justify;font-family:-apple-system, &quot;background-color:#FFFFFF;\">\n\tfileReader\u4e8b\u4ef6\u5904\u7406\uff0c6\u79cd\u3002\n<\/p>\n<ol style=\"color:#333333;font-family:-apple-system, &quot;font-size:14px;background-color:#FFFFFF;\">\n<li>\n\t\tonabort:\u6587\u4ef6\u8bfb\u53d6\u7ec8\u7aef\uff0c\u89e6\u53d1\u3002\n\t<\/li>\n<li>\n\t\tonerror:\u6587\u4ef6\u9047\u5230\u9519\u8bef\u89e6\u53d1\u3002\n\t<\/li>\n<li>\n\t\tonload:\u6587\u4ef6\u6210\u529f\u8bfb\u53d6\u89e6\u53d1\u3002\n\t<\/li>\n<li>\n\t\tonloadstart:\u6587\u4ef6\u5f00\u59cb\u8bfb\u53d6\u65f6\u89e6\u53d1\u3002\n\t<\/li>\n<li>\n\t\tonloadend:\u6587\u4ef6\u8bfb\u53d6\u7ed3\u675f\u65f6\u89e6\u53d1\uff08\u65e0\u8bba\u6210\u529f\u5931\u8d25\uff09\u3002\n\t<\/li>\n<li>\n\t\tonprogress:\u6587\u4ef6\u8bfb\u53d6\u4e2d\u89e6\u53d1\u3002\n\t<\/li>\n<\/ol>\n<p style=\"font-size:16px;color:#4F4F4F;text-align:justify;font-family:-apple-system, &quot;background-color:#FFFFFF;\">\n\tfileReader\u8bfb\u53d6\u65b9\u6cd5\uff0c5\u79cd\u3002\n<\/p>\n<ol style=\"color:#333333;font-family:-apple-system, &quot;font-size:14px;background-color:#FFFFFF;\">\n<li>\n\t\tFileReader.abort()\u3002\u4e2d\u65ad\u8bfb\u53d6\u64cd\u4f5c\uff0c\u8bfb\u53d6\u72b6\u6001\u8fd4\u56de\u4e3adone\uff0c\u5373readyState=2\u3002\n\t<\/li>\n<li>\n\t\tFileReader.readAsArrayBuffer()\u3002\u5c06\u6587\u4ef6\u8bfb\u53d6\u4e3aArrayBuffer\u5f62\u5f0f\u3002\n\t<\/li>\n<li>\n\t\tFileReader.readAsBinaryString() \u3002\u5c06\u6587\u4ef6\u8bfb\u53d6\u4e3a\u4e8c\u8fdb\u5236\u5b57\u7b26\u4e32\uff08\u975e\u6807\u51c6\u65b9\u6cd5\uff0c\u4e0d\u63a8\u8350\u4f7f\u7528\uff09\u3002\n\t<\/li>\n<li>\n\t\tFileReader.readAsDataURL()\u3002\u8bfb\u53d6\u6587\u4ef6\u7684URL,\u5e94\u7528\u573a\u666f\uff0c\u672c\u5730\u9884\u89c8\u56fe\u7247\u3002\n\t<\/li>\n<li>\n\t\tFileReader.readAsText()\u3002\u5c06\u6587\u4ef6\u5df2\u6587\u672c\u5f62\u5f0f\u8bfb\u53d6\u3002\u5373\u8bfb\u53d6txt\u7b49\u3002\n\t<\/li>\n<\/ol>\n<h3 id=\"\u8bfb\u53d6file\u4ee3\u7801\u793a\u4f8b5\u4e3a\u4f8b\" style=\"font-size:22px;color:#4F4F4F;font-family:-apple-system, &quot;background-color:#FFFFFF;\">\n\t<a name=\"t2\"><\/a>\u8bfb\u53d6file\u4ee3\u7801\u793a\u4f8b(5\u4e3a\u4f8b)\uff1a<br \/>\n<\/h3>\n<p style=\"font-size:16px;color:#4F4F4F;text-align:justify;font-family:-apple-system, &quot;background-color:#FFFFFF;\">\n\tHTML:\n<\/p>\n<pre class=\"prettyprint\"><span class=\"hljs-tag\" style=\"color:#006666;\">&lt;<span class=\"hljs-title\" style=\"color:#4F4F4F;\">input<\/span> <span class=\"hljs-attribute\" style=\"color:#4F4F4F;\">type<\/span>=<span class=\"hljs-value\" style=\"color:#009900;\">\"file\"<\/span> <span class=\"hljs-attribute\" style=\"color:#4F4F4F;\">ng-model<\/span>=<span class=\"hljs-value\" style=\"color:#009900;\">\"my_file\"<\/span> <span class=\"hljs-attribute\" style=\"color:#4F4F4F;\">id<\/span>=<span class=\"hljs-value\" style=\"color:#009900;\">\"my_file\"<\/span> <span class=\"hljs-attribute\" style=\"color:#4F4F4F;\">style<\/span>=<span class=\"hljs-value\" style=\"color:#009900;\">\"display: none;\"<\/span>&gt;<\/span> <span class=\"hljs-tag\" style=\"color:#006666;\">&lt;<span class=\"hljs-title\" style=\"color:#4F4F4F;\">button<\/span> <span class=\"hljs-attribute\" style=\"color:#4F4F4F;\">value<\/span>=<span class=\"hljs-value\" style=\"color:#009900;\">\"\u5bfc\u5165\"<\/span> <span class=\"hljs-attribute\" style=\"color:#4F4F4F;\">ng-click<\/span>=<span class=\"hljs-value\" style=\"color:#009900;\">\"myfile()\"<\/span>&gt;<\/span><span class=\"hljs-tag\" style=\"color:#006666;\">&lt;\/<span class=\"hljs-title\" style=\"color:#4F4F4F;\">button<\/span>&gt;<\/span> <\/pre>\n<p style=\"font-size:16px;color:#4F4F4F;text-align:justify;font-family:-apple-system, &quot;background-color:#FFFFFF;\">\n\tJS:\n<\/p>\n<pre class=\"prettyprint\"><span class=\"hljs-variable\" style=\"color:#4F4F4F;\">$scope<\/span>.myfile = <span class=\"hljs-function\"><span class=\"hljs-keyword\" style=\"color:#000088;\">function<\/span> <span class=\"hljs-params\" style=\"color:#4F4F4F;\">()<\/span> {<\/span> $(<span class=\"hljs-string\" style=\"color:#009900;\">\"#my_file\"<\/span>).click();\r\n    }\r\n    $(<span class=\"hljs-string\" style=\"color:#009900;\">\"#my_file\"<\/span>).bind(<span class=\"hljs-string\" style=\"color:#009900;\">'change'<\/span>, <span class=\"hljs-function\"><span class=\"hljs-keyword\" style=\"color:#000088;\">function<\/span> <span class=\"hljs-params\" style=\"color:#4F4F4F;\">(source)<\/span> {<\/span> <span class=\"hljs-keyword\" style=\"color:#000088;\">var<\/span> file = document.getElementById(<span class=\"hljs-string\" style=\"color:#009900;\">\"my_file\"<\/span>).files[<span class=\"hljs-number\" style=\"color:#006666;\">0<\/span>]; <span class=\"hljs-keyword\" style=\"color:#000088;\">var<\/span> reader = <span class=\"hljs-keyword\" style=\"color:#000088;\">new<\/span> FileReader(); <span class=\"hljs-comment\" style=\"color:#880000;\">\/\/\u5c06\u6587\u4ef6\u4ee5\u6587\u672c\u5f62\u5f0f\u8bfb\u5165\u9875\u9762<\/span> reader.readAsText(file, <span class=\"hljs-string\" style=\"color:#009900;\">\"gb2312\"<\/span>);\r\n      reader.onload = <span class=\"hljs-function\"><span class=\"hljs-keyword\" style=\"color:#000088;\">function<\/span> <span class=\"hljs-params\" style=\"color:#4F4F4F;\">(e)<\/span> {<\/span> <span class=\"hljs-keyword\" style=\"color:#000088;\">var<\/span> fileText = e.target.result.split(<span class=\"hljs-string\" style=\"color:#009900;\">\"\\n\"<\/span>);\r\n        angular.<span class=\"hljs-keyword\" style=\"color:#000088;\">forEach<\/span>(fileText, <span class=\"hljs-function\"><span class=\"hljs-keyword\" style=\"color:#000088;\">function<\/span> <span class=\"hljs-params\" style=\"color:#4F4F4F;\">(data, index)<\/span> {<\/span> <span class=\"hljs-keyword\" style=\"color:#000088;\">if<\/span> (data.length) {\r\n            data = data.split(<span class=\"hljs-string\" style=\"color:#009900;\">','<\/span>) <span class=\"hljs-variable\" style=\"color:#4F4F4F;\">$scope<\/span>.persons.push(_.zipObject([<span class=\"hljs-string\" style=\"color:#009900;\">'position'<\/span>, <span class=\"hljs-string\" style=\"color:#009900;\">'calculate'<\/span>, <span class=\"hljs-string\" style=\"color:#009900;\">'maxCalculate'<\/span>, <span class=\"hljs-string\" style=\"color:#009900;\">'minCalculate'<\/span>], data));\r\n          }\r\n        }) <span class=\"hljs-variable\" style=\"color:#4F4F4F;\">$scope<\/span>.<span class=\"hljs-variable\" style=\"color:#4F4F4F;\">$apply<\/span>();\r\n      }\r\n    })\r\n\r\n<\/pre>\n<p style=\"font-size:16px;color:#4F4F4F;text-align:justify;font-family:-apple-system, &quot;background-color:#FFFFFF;\">\n\t<span style=\"font-weight:700;\">reader.readAsText(file, \u201cgb2312\u201d);<\/span>&nbsp;<br \/>\n\u5f00\u59cb\u6ca1\u6709\u6ce8\u660e\u201cgb2312\u201d\uff0c\u8bfb\u53d6txt\u4e4b\u540e\uff0c\u6587\u4ef6\u663e\u793a\u4e71\u7801\u3002\u6ce8\u660e\u540e\u89e3\u51b3\u3002<\/p>\n","protected":false},"excerpt":{"rendered":"<p>JS\u8bfb\u53d6\u672c\u5730txt \u6700\u8fd1\u6709\u4ece\u672c\u5730\u8bfb\u53d6txt\u6587\u4ef6\u7684\u9700\u8981\uff0c\u5948\u4f55\u7f51\u4e0a\u641c\u7d22js\u8bfb\u53d6\u672c\u5730txt\uff0c\u90fd\u662f\u65b0\u5efa\u4e00\u4e2afso\u5bf9\u8c61\uff0c&#8230;<\/p>\n","protected":false},"author":2,"featured_media":228,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"_kad_post_transparent":"","_kad_post_title":"","_kad_post_layout":"","_kad_post_sidebar_id":"","_kad_post_content_style":"","_kad_post_vertical_padding":"","_kad_post_feature":"","_kad_post_feature_position":"","_kad_post_header":false,"_kad_post_footer":false,"footnotes":""},"categories":[38],"tags":[],"_links":{"self":[{"href":"http:\/\/www.daliane.com\/category\/jinjiaoyou\/wp-json\/wp\/v2\/posts\/3064"}],"collection":[{"href":"http:\/\/www.daliane.com\/category\/jinjiaoyou\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"http:\/\/www.daliane.com\/category\/jinjiaoyou\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"http:\/\/www.daliane.com\/category\/jinjiaoyou\/wp-json\/wp\/v2\/users\/2"}],"replies":[{"embeddable":true,"href":"http:\/\/www.daliane.com\/category\/jinjiaoyou\/wp-json\/wp\/v2\/comments?post=3064"}],"version-history":[{"count":2,"href":"http:\/\/www.daliane.com\/category\/jinjiaoyou\/wp-json\/wp\/v2\/posts\/3064\/revisions"}],"predecessor-version":[{"id":3066,"href":"http:\/\/www.daliane.com\/category\/jinjiaoyou\/wp-json\/wp\/v2\/posts\/3064\/revisions\/3066"}],"wp:featuredmedia":[{"embeddable":true,"href":"http:\/\/www.daliane.com\/category\/jinjiaoyou\/wp-json\/wp\/v2\/media\/228"}],"wp:attachment":[{"href":"http:\/\/www.daliane.com\/category\/jinjiaoyou\/wp-json\/wp\/v2\/media?parent=3064"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"http:\/\/www.daliane.com\/category\/jinjiaoyou\/wp-json\/wp\/v2\/categories?post=3064"},{"taxonomy":"post_tag","embeddable":true,"href":"http:\/\/www.daliane.com\/category\/jinjiaoyou\/wp-json\/wp\/v2\/tags?post=3064"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}