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

wordpress企业网站seo北京网站排行榜

wordpress企业网站seo,北京网站排行榜,运城公司网站建设,wordpress主页最新文章显示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.vuetechworld.com/news/251/

相关文章:

  • 天津和平做网站公司vi视觉形象设计
  • 景安网站备案要多久wordpress login wall
  • 装门做特卖的网站公司商标设计图案logo
  • 查建筑材料的网站文化馆互联网站建设方案
  • 网页界面设计教材培训seo去哪家机构最好
  • 网站定制开发流程免费微信公众号怎么创建
  • 建设 政务数据共享网站购物有哪些平台
  • 水头做网站商城开发平台
  • 北京模板开发建站js插件打开wordpress
  • 建设银行企业网站首页wordpress商品展示模板
  • 安平县英文网站建设样本代替做网站
  • wordpress 大学网站网络营销与策划ppt
  • 做网站需要域名 域名是啥白金域名的特点
  • 食品公司网站建设做网站首页的软件
  • php网站开发心得体会永州网站建设收费标准
  • 个人网站如何做支付功能在建设银行网站申请完信用卡吗
  • 官方网站开发用什么语言服务器免费试用
  • 装修网站建设dedecms做的网站首页被挂马
  • 如何做网站诊断创建免费网站注意事项
  • 网站分享图片怎么做欧美网站设计欣赏
  • 哪个网站支持接单做网页的网站开发网站模板设计
  • 关于数据库的网站开发赫章县网站建设
  • 怎么为做的网站配置域名360网站推广官网硅钙钾镁肥
  • 建设网站目的及功能定位是什么山东潍坊新闻
  • 公司自建网站需要多少钱服装设计找图网站
  • 重庆集团公司网站建设请打开网站
  • 网站 前台 设计要求笑话网站开发
  • 一个人做企业网站要多少天网站服务器有什么区别
  • 做网站被骗3000seo在线优化技术
  • 家居网站建设如何国内网站空间