当前位置: 首页 > news >正文

东莞企业营销型网站建设网址收录大全

东莞企业营销型网站建设,网址收录大全,烟花代码编程,网站建设私单FileReader 备注&#xff1a; 此特性在 Web Worker 中可用。 FileReader 接口允许 Web 应用程序异步读取存储在用户计算机上的文件&#xff08;或原始数据缓冲区&#xff09;的内容&#xff0c;使用 File 或 Blob 对象指定要读取的文件或数据。 文件对象可以从用户使用 <…

FileReader

备注: 此特性在 Web Worker 中可用。

FileReader 接口允许 Web 应用程序异步读取存储在用户计算机上的文件(或原始数据缓冲区)的内容,使用 File 或 Blob 对象指定要读取的文件或数据。

文件对象可以从用户使用 <input> 元素选择文件而返回的 FileList 对象中获取,或者从拖放操作的 DataTransfer 对象中获取。

FileReader 只能访问用户明确选择的文件内容,无论是使用 HTML <input type="file"> 元素还是通过拖放。它不能用于从用户的文件系统中按路径名读取文件。要按路径名读取客户端文件系统上的文件,请使用文件系统访问 API。要读取服务器端文件,请使用 fetch(),如果跨源读取,则需要 CORS 权限。

EventTargetFileReader

构造函数

FileReader()

返回一个新的 FileReader 对象。

有关详细信息和示例,请参阅在 Web 应用程序中使用文件。

实例属性

FileReader.error 只读

一个表示在读取文件时发生的错误的 DOMException。

FileReader.readyState 只读

表示FileReader状态的数字。取值如下:

常量名描述
EMPTY0还没有加载任何数据。
LOADING1数据正在被加载。
DONE2已完成全部的读取请求。

FileReader.result 只读

文件的内容。该属性仅在读取操作完成后才有效,数据的格式取决于使用哪个方法来启动读取操作。

实例方法

FileReader.abort()

中止读取操作。在返回时,readyState 属性为 DONE

FileReader.readAsArrayBuffer()

开始读取指定的 Blob 中的内容,一旦完成,result 属性中将包含一个表示文件数据的 ArrayBuffer 对象。

FileReader.readAsBinaryString() 已弃用

开始读取指定的 Blob 中的内容。一旦完成,result 属性中将包含一个表示文件中的原始二进制数据的字符串。

FileReader.readAsDataURL()

开始读取指定的 Blob 中的内容。一旦完成,result 属性中将包含一个表示文件数据的 data: URL。

FileReader.readAsText()

开始读取指定的 Blob 中的内容。一旦完成,result 属性中将包含一个表示所读取的文件内容的字符串。可以指定可选的编码名称。

事件

使用 addEventListener() 方法或通过将事件侦听器分配给此接口的 oneventname 属性来侦听这些事件。一旦不再使用 FileReader,请使用 removeEventListener() 删除事件侦听器,以避免内存泄漏。

abort

当读取被中止时触发,例如因为程序调用了 FileReader.abort() 方法。

error

当读取由于错误而失败时触发。

load

读取成功完成时触发。

loadend

读取完成时触发,无论成功与否。

loadstart

读取开始时触发。

progress

读取数据时定期触发。

前端中这些接口在c++中代码实现如下:

1、FileReader接口定义 third_party\blink\renderer\core\fileapi\file_reader.idl

/** Copyright (C) 2010 Google Inc.  All rights reserved.* Copyright (C) 2011 Apple Inc. All rights reserved.** Redistribution and use in source and binary forms, with or without* modification, are permitted provided that the following conditions are* met:**     * Redistributions of source code must retain the above copyright* notice, this list of conditions and the following disclaimer.*     * Redistributions in binary form must reproduce the above* copyright notice, this list of conditions and the following disclaimer* in the documentation and/or other materials provided with the* distribution.*     * Neither the name of Google Inc. nor the names of its* contributors may be used to endorse or promote products derived from* this software without specific prior written permission.** THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS* "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT* LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR* A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT* OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,* SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT* LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,* DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY* THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT* (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE* OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.*/// https://w3c.github.io/FileAPI/#APIASynch[ActiveScriptWrappable,Exposed=(Window,Worker)
] interface FileReader : EventTarget {[CallWith=ExecutionContext] constructor();// async read methods[RaisesException] void readAsArrayBuffer(Blob blob);[RaisesException] void readAsBinaryString(Blob blob);[RaisesException] void readAsText(Blob blob, optional DOMString label);[RaisesException] void readAsDataURL(Blob blob);void abort();// statesconst unsigned short EMPTY = 0;const unsigned short LOADING = 1;const unsigned short DONE = 2;[ImplementedAs=getReadyState] readonly attribute unsigned short readyState;// File or Blob datareadonly attribute (DOMString or ArrayBuffer)? result;readonly attribute DOMException? error;// event handler attributesattribute EventHandler onloadstart;attribute EventHandler onprogress;attribute EventHandler onload;attribute EventHandler onabort;attribute EventHandler onerror;attribute EventHandler onloadend;
};

2、FileReader接口实现

third_party\blink\renderer\core\fileapi\file_reader.h

third_party\blink\renderer\core\fileapi\file_reader.cc

/** Copyright (C) 2010 Google Inc.  All rights reserved.** Redistribution and use in source and binary forms, with or without* modification, are permitted provided that the following conditions are* met:**     * Redistributions of source code must retain the above copyright* notice, this list of conditions and the following disclaimer.*     * Redistributions in binary form must reproduce the above* copyright notice, this list of conditions and the following disclaimer* in the documentation and/or other materials provided with the* distribution.*     * Neither the name of Google Inc. nor the names of its* contributors may be used to endorse or promote products derived from* this software without specific prior written permission.** THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS* "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT* LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR* A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT* OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,* SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT* LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,* DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY* THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT* (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE* OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.*/#ifndef THIRD_PARTY_BLINK_RENDERER_CORE_FILEAPI_FILE_READER_H_
#define THIRD_PARTY_BLINK_RENDERER_CORE_FILEAPI_FILE_READER_H_#include "base/timer/elapsed_timer.h"
#include "third_party/blink/renderer/bindings/core/v8/active_script_wrappable.h"
#include "third_party/blink/renderer/core/core_export.h"
#include "third_party/blink/renderer/core/dom/events/event_target.h"
#include "third_party/blink/renderer/core/execution_context/execution_context_lifecycle_observer.h"
#include "third_party/blink/renderer/core/fileapi/file_error.h"
#include "third_party/blink/renderer/core/fileapi/file_read_type.h"
#include "third_party/blink/renderer/core/fileapi/file_reader_client.h"
#include "third_party/blink/renderer/core/fileapi/file_reader_loader.h"
#include "third_party/blink/renderer/core/probe/async_task_context.h"
#include "third_party/blink/renderer/platform/heap/garbage_collected.h"
#include "third_party/blink/renderer/platform/wtf/forward.h"namespace blink {class Blob;
class ExceptionState;
class ExecutionContext;
class V8UnionArrayBufferOrString;
enum class FileErrorCode;class CORE_EXPORT FileReader final : public EventTarget,public ActiveScriptWrappable<FileReader>,public ExecutionContextLifecycleObserver,public FileReaderAccumulator {DEFINE_WRAPPERTYPEINFO();public:static FileReader* Create(ExecutionContext*);explicit FileReader(ExecutionContext*);~FileReader() override;enum ReadyState { kEmpty = 0, kLoading = 1, kDone = 2 };void readAsArrayBuffer(Blob*, ExceptionState&);void readAsBinaryString(Blob*, ExceptionState&);void readAsText(Blob*, const String& encoding, ExceptionState&);void readAsText(Blob*, ExceptionState&);void readAsDataURL(Blob*, ExceptionState&);void abort();ReadyState getReadyState() const { return state_; }DOMException* error() { return error_.Get(); }V8UnionArrayBufferOrString* result() const;probe::AsyncTaskContext* async_task_context() { return &async_task_context_; }// ExecutionContextLifecycleObservervoid ContextDestroyed() override;// ScriptWrappablebool HasPendingActivity() const final;// EventTargetconst AtomicString& InterfaceName() const override;ExecutionContext* GetExecutionContext() const override {return ExecutionContextLifecycleObserver::GetExecutionContext();}// FileReaderClientFileErrorCode DidStartLoading() override;FileErrorCode DidReceiveData() override;void DidFinishLoading(FileReaderData contents) override;void DidFail(FileErrorCode) override;DEFINE_ATTRIBUTE_EVENT_LISTENER(loadstart, kLoadstart)DEFINE_ATTRIBUTE_EVENT_LISTENER(progress, kProgress)DEFINE_ATTRIBUTE_EVENT_LISTENER(load, kLoad)DEFINE_ATTRIBUTE_EVENT_LISTENER(abort, kAbort)DEFINE_ATTRIBUTE_EVENT_LISTENER(error, kError)DEFINE_ATTRIBUTE_EVENT_LISTENER(loadend, kLoadend)void Trace(Visitor*) const override;private:class ThrottlingController;void Terminate();void ReadInternal(Blob*, FileReadType, ExceptionState&);void FireEvent(const AtomicString& type);void ExecutePendingRead();ReadyState state_;// Internal loading state, which could differ from ReadyState as it's// for script-visible state while this one's for internal state.enum LoadingState {kLoadingStateNone,kLoadingStatePending,kLoadingStateLoading,kLoadingStateAborted};LoadingState loading_state_;bool still_firing_events_;String blob_type_;scoped_refptr<BlobDataHandle> blob_data_handle_;FileReadType read_type_;String encoding_;probe::AsyncTaskContext async_task_context_;Member<FileReaderLoader> loader_;Member<V8UnionArrayBufferOrString> result_ = nullptr;Member<DOMException> error_;absl::optional<base::ElapsedTimer> last_progress_notification_time_;
};}  // namespace blink#endif  // THIRD_PARTY_BLINK_RENDERER_CORE_FILEAPI_FILE_READER_H_

http://www.hkea.cn/news/938/

相关文章:

  • wordpress html5 中文关键词优化的主要工具
  • 济南网站建设凡科随州seo
  • wordpress点击显示微信二维码win10优化工具下载
  • 中国建设招投标网站矿泉水软文广告500字
  • 网站开发产品设计书太原关键词优化服务
  • 雄安专业网站建设深圳seo排名优化
  • 网上做博彩网站代理赚钱吗如何在网上推广自己
  • 域名是网站吗全国新闻媒体发稿平台
  • 旅行的意义 wordpress主题搜索引擎优化的目的是
  • 网站建设 功能需求怎么联系百度人工客服
  • 深圳前十设计公司seo发帖论坛
  • 滨州做网站的公司云南网站建设百度
  • 找别人做网站怎么防止后门网址提交
  • 网络推广方案的内容重庆百度推广优化
  • 优秀网页设计鉴赏seo关键词推广方式
  • 网站怎么做内容免费好用的网站
  • 黔西南州建设银行网站天津百度推广排名
  • 新安商品混泥土网站建设互联网营销师资格证
  • 网站红色模板苏州首页关键词优化
  • 北碚网站建设黄山seo排名优化技术
  • 怎么利用公网做网站西安危机公关公司
  • 专业做婚庆的网站有哪些网站seo优化8888
  • 政府的网站是自己做的还是外包网站交换链接友情链接的作用
  • 网站开发前端制作厦门最快seo
  • 杭州个人网站建设保定seo排名
  • 展馆装修施工西安百度seo
  • 如何在外管局网站上做a合同网络营销知名企业
  • 宜兴做宠物的网站历下区百度seo
  • 卡通风格网站欣赏如何在百度上开店铺
  • 网站上的销售怎么做的竞价排名的优缺点