浏览代码

Expose loaded data as FileLoader.data.

Maciej Gołaszewski 6 年之前
父节点
当前提交
56a69b14c4
共有 2 个文件被更改,包括 18 次插入2 次删除
  1. 11 1
      packages/ckeditor5-upload/src/filereader.js
  2. 7 1
      packages/ckeditor5-upload/src/filerepository.js

+ 11 - 1
packages/ckeditor5-upload/src/filereader.js

@@ -30,6 +30,8 @@ export default class FileReader {
 		 */
 		this._reader = reader;
 
+		this._data = undefined;
+
 		/**
 		 * Number of bytes loaded.
 		 *
@@ -53,6 +55,10 @@ export default class FileReader {
 		return this._reader.error;
 	}
 
+	get data() {
+		return this._data;
+	}
+
 	/**
 	 * Reads the provided file.
 	 *
@@ -66,7 +72,11 @@ export default class FileReader {
 
 		return new Promise( ( resolve, reject ) => {
 			reader.onload = () => {
-				resolve( reader.result );
+				const result = reader.result;
+
+				this._data = result;
+
+				resolve( result );
 			};
 
 			reader.onerror = () => {

+ 7 - 1
packages/ckeditor5-upload/src/filerepository.js

@@ -400,6 +400,10 @@ class FileLoader {
 		}
 	}
 
+	get data() {
+		return this._reader.data;
+	}
+
 	/**
 	 * Reads file using {@link module:upload/filereader~FileReader}.
 	 *
@@ -433,6 +437,8 @@ class FileLoader {
 			.then( data => {
 				this.status = 'idle';
 
+				this._data = data;
+
 				return data;
 			} )
 			.catch( err => {
@@ -521,7 +527,7 @@ class FileLoader {
 		this._filePromiseWrapper = undefined;
 		this._reader = undefined;
 		this._adapter = undefined;
-		this.data = undefined;
+		this._data = undefined;
 		this.uploadResponse = undefined;
 	}