@ckeditor/ckeditor5-upload 35.2.1 → 35.3.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/package.json +16 -6
- package/src/adapters/base64uploadadapter.js +63 -76
- package/src/adapters/simpleuploadadapter.js +151 -270
- package/src/filereader.js +76 -96
- package/src/filerepository.js +480 -623
- package/src/index.js +0 -2
- package/src/ui/filedialogbuttonview.js +119 -139
package/package.json
CHANGED
@@ -1,6 +1,6 @@
|
|
1
1
|
{
|
2
2
|
"name": "@ckeditor/ckeditor5-upload",
|
3
|
-
"version": "35.
|
3
|
+
"version": "35.3.1",
|
4
4
|
"description": "Upload feature for CKEditor 5.",
|
5
5
|
"keywords": [
|
6
6
|
"ckeditor",
|
@@ -11,9 +11,14 @@
|
|
11
11
|
],
|
12
12
|
"main": "src/index.js",
|
13
13
|
"dependencies": {
|
14
|
-
"@ckeditor/ckeditor5-core": "^35.
|
15
|
-
"@ckeditor/ckeditor5-utils": "^35.
|
16
|
-
"@ckeditor/ckeditor5-ui": "^35.
|
14
|
+
"@ckeditor/ckeditor5-core": "^35.3.1",
|
15
|
+
"@ckeditor/ckeditor5-utils": "^35.3.1",
|
16
|
+
"@ckeditor/ckeditor5-ui": "^35.3.1"
|
17
|
+
},
|
18
|
+
"devDependencies": {
|
19
|
+
"typescript": "^4.8.4",
|
20
|
+
"webpack": "^5.58.1",
|
21
|
+
"webpack-cli": "^4.9.0"
|
17
22
|
},
|
18
23
|
"engines": {
|
19
24
|
"node": ">=14.0.0",
|
@@ -30,9 +35,14 @@
|
|
30
35
|
},
|
31
36
|
"files": [
|
32
37
|
"lang",
|
33
|
-
"src",
|
38
|
+
"src/**/*.js",
|
39
|
+
"src/**/*.d.ts",
|
34
40
|
"theme",
|
35
41
|
"ckeditor5-metadata.json",
|
36
42
|
"CHANGELOG.md"
|
37
|
-
]
|
43
|
+
],
|
44
|
+
"scripts": {
|
45
|
+
"build": "tsc -p ./tsconfig.release.json",
|
46
|
+
"postversion": "npm run build"
|
47
|
+
}
|
38
48
|
}
|
@@ -2,16 +2,12 @@
|
|
2
2
|
* @license Copyright (c) 2003-2022, CKSource Holding sp. z o.o. All rights reserved.
|
3
3
|
* For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license
|
4
4
|
*/
|
5
|
-
|
6
5
|
/**
|
7
6
|
* @module upload/adapters/base64uploadadapter
|
8
7
|
*/
|
9
|
-
|
10
8
|
/* globals window */
|
11
|
-
|
12
9
|
import Plugin from '@ckeditor/ckeditor5-core/src/plugin';
|
13
10
|
import FileRepository from '../filerepository';
|
14
|
-
|
15
11
|
/**
|
16
12
|
* A plugin that converts images inserted into the editor into [Base64 strings](https://en.wikipedia.org/wiki/Base64)
|
17
13
|
* in the {@glink installation/advanced/saving-data editor output}.
|
@@ -25,28 +21,25 @@ import FileRepository from '../filerepository';
|
|
25
21
|
* @extends module:core/plugin~Plugin
|
26
22
|
*/
|
27
23
|
export default class Base64UploadAdapter extends Plugin {
|
28
|
-
|
29
|
-
|
30
|
-
|
31
|
-
|
32
|
-
|
33
|
-
|
34
|
-
|
35
|
-
|
36
|
-
|
37
|
-
|
38
|
-
|
39
|
-
|
40
|
-
|
41
|
-
|
42
|
-
|
43
|
-
|
44
|
-
|
45
|
-
|
46
|
-
this.editor.plugins.get( FileRepository ).createUploadAdapter = loader => new Adapter( loader );
|
47
|
-
}
|
24
|
+
/**
|
25
|
+
* @inheritDoc
|
26
|
+
*/
|
27
|
+
static get requires() {
|
28
|
+
return [FileRepository];
|
29
|
+
}
|
30
|
+
/**
|
31
|
+
* @inheritDoc
|
32
|
+
*/
|
33
|
+
static get pluginName() {
|
34
|
+
return 'Base64UploadAdapter';
|
35
|
+
}
|
36
|
+
/**
|
37
|
+
* @inheritDoc
|
38
|
+
*/
|
39
|
+
init() {
|
40
|
+
this.editor.plugins.get(FileRepository).createUploadAdapter = loader => new Adapter(loader);
|
41
|
+
}
|
48
42
|
}
|
49
|
-
|
50
43
|
/**
|
51
44
|
* The upload adapter that converts images inserted into the editor into Base64 strings.
|
52
45
|
*
|
@@ -54,55 +47,49 @@ export default class Base64UploadAdapter extends Plugin {
|
|
54
47
|
* @implements module:upload/filerepository~UploadAdapter
|
55
48
|
*/
|
56
49
|
class Adapter {
|
57
|
-
|
58
|
-
|
59
|
-
|
60
|
-
|
61
|
-
|
62
|
-
|
63
|
-
|
64
|
-
|
65
|
-
|
66
|
-
|
67
|
-
|
68
|
-
|
69
|
-
|
70
|
-
|
71
|
-
|
72
|
-
|
73
|
-
|
74
|
-
|
75
|
-
|
76
|
-
|
77
|
-
|
78
|
-
|
79
|
-
|
80
|
-
|
81
|
-
|
82
|
-
|
83
|
-
|
84
|
-
|
85
|
-
|
86
|
-
|
87
|
-
|
88
|
-
|
89
|
-
|
90
|
-
|
91
|
-
|
92
|
-
|
93
|
-
|
94
|
-
|
95
|
-
|
96
|
-
|
97
|
-
|
98
|
-
|
99
|
-
|
100
|
-
|
101
|
-
|
102
|
-
* @see module:upload/filerepository~UploadAdapter#abort
|
103
|
-
* @returns {Promise}
|
104
|
-
*/
|
105
|
-
abort() {
|
106
|
-
this.reader.abort();
|
107
|
-
}
|
50
|
+
/**
|
51
|
+
* Creates a new adapter instance.
|
52
|
+
*
|
53
|
+
* @param {module:upload/filerepository~FileLoader} loader
|
54
|
+
*/
|
55
|
+
constructor(loader) {
|
56
|
+
/**
|
57
|
+
* `FileLoader` instance to use during the upload.
|
58
|
+
*
|
59
|
+
* @member {module:upload/filerepository~FileLoader} #loader
|
60
|
+
*/
|
61
|
+
this.loader = loader;
|
62
|
+
}
|
63
|
+
/**
|
64
|
+
* Starts the upload process.
|
65
|
+
*
|
66
|
+
* @see module:upload/filerepository~UploadAdapter#upload
|
67
|
+
* @returns {Promise}
|
68
|
+
*/
|
69
|
+
upload() {
|
70
|
+
return new Promise((resolve, reject) => {
|
71
|
+
const reader = this.reader = new window.FileReader();
|
72
|
+
reader.addEventListener('load', () => {
|
73
|
+
resolve({ default: reader.result });
|
74
|
+
});
|
75
|
+
reader.addEventListener('error', err => {
|
76
|
+
reject(err);
|
77
|
+
});
|
78
|
+
reader.addEventListener('abort', () => {
|
79
|
+
reject();
|
80
|
+
});
|
81
|
+
this.loader.file.then(file => {
|
82
|
+
reader.readAsDataURL(file);
|
83
|
+
});
|
84
|
+
});
|
85
|
+
}
|
86
|
+
/**
|
87
|
+
* Aborts the upload process.
|
88
|
+
*
|
89
|
+
* @see module:upload/filerepository~UploadAdapter#abort
|
90
|
+
* @returns {Promise}
|
91
|
+
*/
|
92
|
+
abort() {
|
93
|
+
this.reader.abort();
|
94
|
+
}
|
108
95
|
}
|
@@ -2,17 +2,13 @@
|
|
2
2
|
* @license Copyright (c) 2003-2022, CKSource Holding sp. z o.o. All rights reserved.
|
3
3
|
* For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license
|
4
4
|
*/
|
5
|
-
|
6
5
|
/**
|
7
6
|
* @module upload/adapters/simpleuploadadapter
|
8
7
|
*/
|
9
|
-
|
10
8
|
/* globals XMLHttpRequest, FormData */
|
11
|
-
|
12
9
|
import Plugin from '@ckeditor/ckeditor5-core/src/plugin';
|
13
10
|
import FileRepository from '../filerepository';
|
14
11
|
import { logWarning } from '@ckeditor/ckeditor5-utils/src/ckeditorerror';
|
15
|
-
|
16
12
|
/**
|
17
13
|
* The Simple upload adapter allows uploading images to an application running on your server using
|
18
14
|
* the [`XMLHttpRequest`](https://developer.mozilla.org/en-US/docs/Web/API/XMLHttpRequest) API with a
|
@@ -39,49 +35,42 @@ import { logWarning } from '@ckeditor/ckeditor5-utils/src/ckeditorerror';
|
|
39
35
|
* @extends module:core/plugin~Plugin
|
40
36
|
*/
|
41
37
|
export default class SimpleUploadAdapter extends Plugin {
|
42
|
-
|
43
|
-
|
44
|
-
|
45
|
-
|
46
|
-
|
47
|
-
|
48
|
-
|
49
|
-
|
50
|
-
|
51
|
-
|
52
|
-
|
53
|
-
|
54
|
-
|
55
|
-
|
56
|
-
|
57
|
-
|
58
|
-
|
59
|
-
|
60
|
-
|
61
|
-
|
62
|
-
|
63
|
-
|
64
|
-
|
65
|
-
|
66
|
-
|
67
|
-
|
68
|
-
|
69
|
-
|
70
|
-
|
71
|
-
|
72
|
-
|
73
|
-
|
74
|
-
|
75
|
-
|
76
|
-
|
77
|
-
}
|
78
|
-
|
79
|
-
this.editor.plugins.get( FileRepository ).createUploadAdapter = loader => {
|
80
|
-
return new Adapter( loader, options );
|
81
|
-
};
|
82
|
-
}
|
38
|
+
/**
|
39
|
+
* @inheritDoc
|
40
|
+
*/
|
41
|
+
static get requires() {
|
42
|
+
return [FileRepository];
|
43
|
+
}
|
44
|
+
/**
|
45
|
+
* @inheritDoc
|
46
|
+
*/
|
47
|
+
static get pluginName() {
|
48
|
+
return 'SimpleUploadAdapter';
|
49
|
+
}
|
50
|
+
/**
|
51
|
+
* @inheritDoc
|
52
|
+
*/
|
53
|
+
init() {
|
54
|
+
const options = this.editor.config.get('simpleUpload');
|
55
|
+
if (!options) {
|
56
|
+
return;
|
57
|
+
}
|
58
|
+
if (!options.uploadUrl) {
|
59
|
+
/**
|
60
|
+
* The {@link module:upload/adapters/simpleuploadadapter~SimpleUploadConfig#uploadUrl `config.simpleUpload.uploadUrl`}
|
61
|
+
* configuration required by the {@link module:upload/adapters/simpleuploadadapter~SimpleUploadAdapter `SimpleUploadAdapter`}
|
62
|
+
* is missing. Make sure the correct URL is specified for the image upload to work properly.
|
63
|
+
*
|
64
|
+
* @error simple-upload-adapter-missing-uploadurl
|
65
|
+
*/
|
66
|
+
logWarning('simple-upload-adapter-missing-uploadurl');
|
67
|
+
return;
|
68
|
+
}
|
69
|
+
this.editor.plugins.get(FileRepository).createUploadAdapter = loader => {
|
70
|
+
return new Adapter(loader, options);
|
71
|
+
};
|
72
|
+
}
|
83
73
|
}
|
84
|
-
|
85
74
|
/**
|
86
75
|
* Upload adapter.
|
87
76
|
*
|
@@ -89,228 +78,120 @@ export default class SimpleUploadAdapter extends Plugin {
|
|
89
78
|
* @implements module:upload/filerepository~UploadAdapter
|
90
79
|
*/
|
91
80
|
class Adapter {
|
92
|
-
|
93
|
-
|
94
|
-
|
95
|
-
|
96
|
-
|
97
|
-
|
98
|
-
|
99
|
-
|
100
|
-
|
101
|
-
|
102
|
-
|
103
|
-
|
104
|
-
|
105
|
-
|
106
|
-
|
107
|
-
|
108
|
-
|
109
|
-
|
110
|
-
|
111
|
-
|
112
|
-
|
113
|
-
|
114
|
-
|
115
|
-
|
116
|
-
|
117
|
-
|
118
|
-
|
119
|
-
|
120
|
-
|
121
|
-
|
122
|
-
|
123
|
-
|
124
|
-
|
125
|
-
|
126
|
-
|
127
|
-
|
128
|
-
|
129
|
-
|
130
|
-
|
131
|
-
|
132
|
-
|
133
|
-
|
134
|
-
|
135
|
-
|
136
|
-
|
137
|
-
|
138
|
-
|
139
|
-
|
140
|
-
|
141
|
-
|
142
|
-
|
143
|
-
|
144
|
-
|
145
|
-
|
146
|
-
|
147
|
-
|
148
|
-
|
149
|
-
|
150
|
-
|
151
|
-
|
152
|
-
|
153
|
-
|
154
|
-
|
155
|
-
|
156
|
-
|
157
|
-
|
158
|
-
|
159
|
-
|
160
|
-
|
161
|
-
|
162
|
-
|
163
|
-
|
164
|
-
|
165
|
-
|
166
|
-
|
167
|
-
|
168
|
-
|
169
|
-
|
170
|
-
|
171
|
-
|
172
|
-
|
173
|
-
|
174
|
-
|
175
|
-
|
176
|
-
|
177
|
-
|
178
|
-
|
179
|
-
|
180
|
-
|
181
|
-
|
182
|
-
|
183
|
-
|
184
|
-
|
185
|
-
|
186
|
-
|
187
|
-
|
188
|
-
|
189
|
-
|
190
|
-
|
191
|
-
|
192
|
-
|
193
|
-
|
194
|
-
|
195
|
-
|
196
|
-
|
197
|
-
|
198
|
-
|
199
|
-
|
200
|
-
|
201
|
-
|
202
|
-
|
203
|
-
|
204
|
-
|
205
|
-
|
206
|
-
|
207
|
-
|
208
|
-
|
209
|
-
// Use the withCredentials flag if specified.
|
210
|
-
const withCredentials = this.options.withCredentials || false;
|
211
|
-
|
212
|
-
for ( const headerName of Object.keys( headers ) ) {
|
213
|
-
this.xhr.setRequestHeader( headerName, headers[ headerName ] );
|
214
|
-
}
|
215
|
-
|
216
|
-
this.xhr.withCredentials = withCredentials;
|
217
|
-
|
218
|
-
// Prepare the form data.
|
219
|
-
const data = new FormData();
|
220
|
-
|
221
|
-
data.append( 'upload', file );
|
222
|
-
|
223
|
-
// Send the request.
|
224
|
-
this.xhr.send( data );
|
225
|
-
}
|
81
|
+
/**
|
82
|
+
* Creates a new adapter instance.
|
83
|
+
*
|
84
|
+
* @param {module:upload/filerepository~FileLoader} loader
|
85
|
+
* @param {module:upload/adapters/simpleuploadadapter~SimpleUploadConfig} options
|
86
|
+
*/
|
87
|
+
constructor(loader, options) {
|
88
|
+
/**
|
89
|
+
* FileLoader instance to use during the upload.
|
90
|
+
*
|
91
|
+
* @member {module:upload/filerepository~FileLoader} #loader
|
92
|
+
*/
|
93
|
+
this.loader = loader;
|
94
|
+
/**
|
95
|
+
* The configuration of the adapter.
|
96
|
+
*
|
97
|
+
* @member {module:upload/adapters/simpleuploadadapter~SimpleUploadConfig} #options
|
98
|
+
*/
|
99
|
+
this.options = options;
|
100
|
+
}
|
101
|
+
/**
|
102
|
+
* Starts the upload process.
|
103
|
+
*
|
104
|
+
* @see module:upload/filerepository~UploadAdapter#upload
|
105
|
+
* @returns {Promise}
|
106
|
+
*/
|
107
|
+
upload() {
|
108
|
+
return this.loader.file
|
109
|
+
.then(file => new Promise((resolve, reject) => {
|
110
|
+
this._initRequest();
|
111
|
+
this._initListeners(resolve, reject, file);
|
112
|
+
this._sendRequest(file);
|
113
|
+
}));
|
114
|
+
}
|
115
|
+
/**
|
116
|
+
* Aborts the upload process.
|
117
|
+
*
|
118
|
+
* @see module:upload/filerepository~UploadAdapter#abort
|
119
|
+
* @returns {Promise}
|
120
|
+
*/
|
121
|
+
abort() {
|
122
|
+
if (this.xhr) {
|
123
|
+
this.xhr.abort();
|
124
|
+
}
|
125
|
+
}
|
126
|
+
/**
|
127
|
+
* Initializes the `XMLHttpRequest` object using the URL specified as
|
128
|
+
* {@link module:upload/adapters/simpleuploadadapter~SimpleUploadConfig#uploadUrl `simpleUpload.uploadUrl`} in the editor's
|
129
|
+
* configuration.
|
130
|
+
*
|
131
|
+
* @private
|
132
|
+
*/
|
133
|
+
_initRequest() {
|
134
|
+
const xhr = this.xhr = new XMLHttpRequest();
|
135
|
+
xhr.open('POST', this.options.uploadUrl, true);
|
136
|
+
xhr.responseType = 'json';
|
137
|
+
}
|
138
|
+
/**
|
139
|
+
* Initializes XMLHttpRequest listeners
|
140
|
+
*
|
141
|
+
* @private
|
142
|
+
* @param {Function} resolve Callback function to be called when the request is successful.
|
143
|
+
* @param {Function} reject Callback function to be called when the request cannot be completed.
|
144
|
+
* @param {File} file Native File object.
|
145
|
+
*/
|
146
|
+
_initListeners(resolve, reject, file) {
|
147
|
+
const xhr = this.xhr;
|
148
|
+
const loader = this.loader;
|
149
|
+
const genericErrorText = `Couldn't upload file: ${file.name}.`;
|
150
|
+
xhr.addEventListener('error', () => reject(genericErrorText));
|
151
|
+
xhr.addEventListener('abort', () => reject());
|
152
|
+
xhr.addEventListener('load', () => {
|
153
|
+
const response = xhr.response;
|
154
|
+
if (!response || response.error) {
|
155
|
+
return reject(response && response.error && response.error.message ? response.error.message : genericErrorText);
|
156
|
+
}
|
157
|
+
const urls = response.url ? { default: response.url } : response.urls;
|
158
|
+
// Resolve with the normalized `urls` property and pass the rest of the response
|
159
|
+
// to allow customizing the behavior of features relying on the upload adapters.
|
160
|
+
resolve({
|
161
|
+
...response,
|
162
|
+
urls
|
163
|
+
});
|
164
|
+
});
|
165
|
+
// Upload progress when it is supported.
|
166
|
+
/* istanbul ignore else */
|
167
|
+
if (xhr.upload) {
|
168
|
+
xhr.upload.addEventListener('progress', evt => {
|
169
|
+
if (evt.lengthComputable) {
|
170
|
+
loader.uploadTotal = evt.total;
|
171
|
+
loader.uploaded = evt.loaded;
|
172
|
+
}
|
173
|
+
});
|
174
|
+
}
|
175
|
+
}
|
176
|
+
/**
|
177
|
+
* Prepares the data and sends the request.
|
178
|
+
*
|
179
|
+
* @private
|
180
|
+
* @param {File} file File instance to be uploaded.
|
181
|
+
*/
|
182
|
+
_sendRequest(file) {
|
183
|
+
// Set headers if specified.
|
184
|
+
const headers = this.options.headers || {};
|
185
|
+
// Use the withCredentials flag if specified.
|
186
|
+
const withCredentials = this.options.withCredentials || false;
|
187
|
+
for (const headerName of Object.keys(headers)) {
|
188
|
+
this.xhr.setRequestHeader(headerName, headers[headerName]);
|
189
|
+
}
|
190
|
+
this.xhr.withCredentials = withCredentials;
|
191
|
+
// Prepare the form data.
|
192
|
+
const data = new FormData();
|
193
|
+
data.append('upload', file);
|
194
|
+
// Send the request.
|
195
|
+
this.xhr.send(data);
|
196
|
+
}
|
226
197
|
}
|
227
|
-
|
228
|
-
/**
|
229
|
-
* The configuration of the {@link module:upload/adapters/simpleuploadadapter~SimpleUploadAdapter simple upload adapter}.
|
230
|
-
*
|
231
|
-
* ClassicEditor
|
232
|
-
* .create( editorElement, {
|
233
|
-
* simpleUpload: {
|
234
|
-
* // The URL the images are uploaded to.
|
235
|
-
* uploadUrl: 'http://example.com',
|
236
|
-
*
|
237
|
-
* // Headers sent along with the XMLHttpRequest to the upload server.
|
238
|
-
* headers: {
|
239
|
-
* ...
|
240
|
-
* }
|
241
|
-
* }
|
242
|
-
* } );
|
243
|
-
* .then( ... )
|
244
|
-
* .catch( ... );
|
245
|
-
*
|
246
|
-
* See the {@glink features/images/image-upload/simple-upload-adapter "Simple upload adapter"} guide to learn more.
|
247
|
-
*
|
248
|
-
* See {@link module:core/editor/editorconfig~EditorConfig all editor configuration options}.
|
249
|
-
*
|
250
|
-
* @interface SimpleUploadConfig
|
251
|
-
*/
|
252
|
-
|
253
|
-
/**
|
254
|
-
* The configuration of the {@link module:upload/adapters/simpleuploadadapter~SimpleUploadAdapter simple upload adapter}.
|
255
|
-
*
|
256
|
-
* Read more in {@link module:upload/adapters/simpleuploadadapter~SimpleUploadConfig}.
|
257
|
-
*
|
258
|
-
* @member {module:upload/adapters/simpleuploadadapter~SimpleUploadConfig} module:core/editor/editorconfig~EditorConfig#simpleUpload
|
259
|
-
*/
|
260
|
-
|
261
|
-
/**
|
262
|
-
* The path (URL) to the server (application) which handles the file upload. When specified, enables the automatic
|
263
|
-
* upload of resources (images) inserted into the editor content.
|
264
|
-
*
|
265
|
-
* Learn more about the server application requirements in the
|
266
|
-
* {@glink features/images/image-upload/simple-upload-adapter#server-side-configuration "Server-side configuration"} section
|
267
|
-
* of the feature guide.
|
268
|
-
*
|
269
|
-
* @member {String} module:upload/adapters/simpleuploadadapter~SimpleUploadConfig#uploadUrl
|
270
|
-
*/
|
271
|
-
|
272
|
-
/**
|
273
|
-
* An object that defines additional [headers](https://developer.mozilla.org/en-US/docs/Web/HTTP/Headers) sent with
|
274
|
-
* the request to the server during the upload. This is the right place to implement security mechanisms like
|
275
|
-
* authentication and [CSRF](https://developer.mozilla.org/en-US/docs/Glossary/CSRF) protection.
|
276
|
-
*
|
277
|
-
* ClassicEditor
|
278
|
-
* .create( editorElement, {
|
279
|
-
* simpleUpload: {
|
280
|
-
* headers: {
|
281
|
-
* 'X-CSRF-TOKEN': 'CSRF-Token',
|
282
|
-
* Authorization: 'Bearer <JSON Web Token>'
|
283
|
-
* }
|
284
|
-
* }
|
285
|
-
* } );
|
286
|
-
* .then( ... )
|
287
|
-
* .catch( ... );
|
288
|
-
*
|
289
|
-
* Learn more about the server application requirements in the
|
290
|
-
* {@glink features/images/image-upload/simple-upload-adapter#server-side-configuration "Server-side configuration"} section
|
291
|
-
* of the feature guide.
|
292
|
-
*
|
293
|
-
* @member {Object.<String, String>} module:upload/adapters/simpleuploadadapter~SimpleUploadConfig#headers
|
294
|
-
*/
|
295
|
-
|
296
|
-
/**
|
297
|
-
* This flag enables the
|
298
|
-
* [`withCredentials`](https://developer.mozilla.org/en-US/docs/Web/API/XMLHttpRequest/withCredentials)
|
299
|
-
* property of the request sent to the server during the upload. It affects cross-site requests only and, for instance,
|
300
|
-
* allows credentials such as cookies to be sent along with the request.
|
301
|
-
*
|
302
|
-
* ClassicEditor
|
303
|
-
* .create( editorElement, {
|
304
|
-
* simpleUpload: {
|
305
|
-
* withCredentials: true
|
306
|
-
* }
|
307
|
-
* } );
|
308
|
-
* .then( ... )
|
309
|
-
* .catch( ... );
|
310
|
-
*
|
311
|
-
* Learn more about the server application requirements in the
|
312
|
-
* {@glink features/images/image-upload/simple-upload-adapter#server-side-configuration "Server-side configuration"} section
|
313
|
-
* of the feature guide.
|
314
|
-
*
|
315
|
-
* @member {Boolean} [module:upload/adapters/simpleuploadadapter~SimpleUploadConfig#withCredentials=false]
|
316
|
-
*/
|