This repository has been archived by the owner on Nov 19, 2018. It is now read-only.
-
Notifications
You must be signed in to change notification settings - Fork 5
/
faq.html
325 lines (244 loc) · 21.7 KB
/
faq.html
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
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
80
81
82
83
84
85
86
87
88
89
90
91
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
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
<!DOCTYPE html>
<!--[if IE 8]> <html class="no-js lt-ie9" lang="en"> <![endif]-->
<!--[if gt IE 8]><!--> <html class="no-js" lang="en"> <!--<![endif]-->
<head>
<title>Fine Uploader Documentation</title>
<meta charset="utf-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<meta name="description" content="">
<meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1">
<link rel="icon" href="/favicon.ico">
<link href="//cdnjs.cloudflare.com/ajax/libs/twitter-bootstrap/2.3.2/css/bootstrap.min.css" rel="stylesheet">
<link href="//cdnjs.cloudflare.com/ajax/libs/twitter-bootstrap/2.3.2/css/bootstrap-responsive.min.css" rel="stylesheet">
<link href='https://fonts.googleapis.com/css?family=Maven+Pro:700,400' rel='stylesheet' type='text/css'>
<link rel="stylesheet" href="/branch/master/_static/css/main.css" />
<link rel="stylesheet" href="/branch/master/_static/css/pygments.css" />
<script src="//cdnjs.cloudflare.com/ajax/libs/modernizr/2.6.2/modernizr.min.js"></script>
</head>
<body>
<!--[if lt IE 7]>
<p class="chromeframe">You are using an <strong>outdated</strong> browser. Please <a href="http://browsehappy.com/">upgrade your browser</a> or <a href="http://www.google.com/chromeframe/?redirect=true">activate Google Chrome Frame</a> to improve your experience.</p>
<![endif]-->
<div class="navbar navbar-inverse navbar-fixed-top">
<div class="navbar-inner">
<div class="container">
<button class="btn btn-navbar" data-toggle="collapse" data-target=".nav-collapse" aria-label="mobile navigation menu">
<span class="hide">mobile navigation menu</span>
<span class="icon-bar"></span>
<span class="icon-bar"></span>
<span class="icon-bar"></span>
</button>
<div class="nav-collapse collapse">
<ul class="nav">
<li><a class="brand" href="http://fineuploader.com/"><img style="margin-top: -10px; height: 20px" src="https://fineuploader.com/img/FineUploader_logo.png" alt="Fine Uploader logo"></a></li>
<li><a href="/branch/master">Docs</a></li>
<li><a href="https://blog.fineuploader.com/">Blog</a></li>
<li class="dropdown">
<button id="features-menu-trigger" class="dropdown-toggle btn btn-link" data-toggle="dropdown">Features <b class="caret"></b></button>
<ul class="dropdown-menu" role="menu" aria-labelledby="features-menu-trigger">
<li role="presentation"><a role="menuitem" href="/branch/master/features/async-tasks-and-promises.html">Async Tasks & Promises</a></li>
<li role="presentation"><a role="menuitem" href="/branch/master/features/azure.html">Azure Blob Storage Uploads</a></li>
<li role="presentation"><a role="menuitem" href="/branch/master/features/cancellable-uploads.html">Cancelling</a></li>
<li role="presentation"><a role="menuitem" href="/branch/master/features/chunking.html">Chunking</a></li>
<li role="presentation"><a role="menuitem" href="/branch/master/features/concurrent-chunking.html">Concurrent Chunking</a></li>
<li role="presentation"><a role="menuitem" href="/branch/master/features/CORS.html">CORS</a></li>
<li role="presentation"><a role="menuitem" href="/branch/master/features/delete.html">Delete</a></li>
<li role="presentation"><a role="menuitem" href="/branch/master/features/drag-and-drop.html">Drag and Drop</a></li>
<li role="presentation"><a role="menuitem" href="/branch/master/features/handling-errors.html">Error Handling</a></li>
<li role="presentation"><a role="menuitem" href="/branch/master/features/modules.html">ES6 & CommonJS Support</a></li>
<li role="presentation"><a role="menuitem" href="/branch/master/features/filename-edit.html">Filename Editing</a></li>
<li role="presentation"><a role="menuitem" href="/branch/master/features/forms.html">Form Support</a></li>
<li role="presentation"><a role="menuitem" href="/branch/master/features/session.html">Initial File Lists</a></li>
<li role="presentation"><a role="menuitem" href="/branch/master/features/extra-buttons.html">Multiple Upload Buttons</a></li>
<li role="presentation"><a role="menuitem" href="/branch/master/features/no-server-uploads.html">No-Server Uploads</a></li>
<li role="presentation"><a role="menuitem" href="/branch/master/features/paste-to-upload.html">Paste</a></li>
<li role="presentation"><a role="menuitem" href="/branch/master/features/pause.html">Pause In-Progress Uploads</a></li>
<li role="presentation"><a role="menuitem" href="/branch/master/features/progress-bars.html">Progress Bars</a></li>
<li role="presentation"><a role="menuitem" href="/branch/master/features/thumbnails.html">Previews & Thumbnails</a></li>
<li role="presentation"><a role="menuitem" href="/branch/master/features/request-parameters.html">Request Parameters</a></li>
<li role="presentation"><a role="menuitem" href="/branch/master/features/resume.html">Resuming</a></li>
<li role="presentation"><a role="menuitem" href="/branch/master/features/retry.html">Retrying</a></li>
<li role="presentation"><a role="menuitem" href="/branch/master/features/s3.html">S3 Uploads</a></li>
<li role="presentation"><a role="menuitem" href="/branch/master/features/statistics-and-status-updates.html">Stats & Status</a></li>
<li role="presentation"><a role="menuitem" href="/branch/master/features/styling.html">Styling</a></li>
<li role="presentation"><a role="menuitem" href="/branch/master/features/upload-files.html">Uploading</a></li>
<li role="presentation"><a role="menuitem" href="/branch/master/features/scaling.html">Upload Scaled Images</a></li>
<li role="presentation"><a role="menuitem" href="/branch/master/features/upload-from-mobile-camera.html">Upload via Mobile Camera</a></li>
<li role="presentation"><a role="menuitem" href="/branch/master/features/validation.html">Validation</a></li>
</ul>
</li>
<li class="dropdown">
<button id="api-menu-trigger" class="dropdown-toggle btn btn-link" data-toggle="dropdown">API <b class="caret"></b></button>
<ul class="dropdown-menu api" role="menu" aria-labelledby="api-menu-trigger">
<li><b>Options</b></li>
<li role="presentation"><a role="menuitem" href="/branch/master/api/options.html">Core</a></li>
<li role="presentation"><a role="menuitem" href="/branch/master/api/options-ui.html">UI</a></li>
<li role="presentation"><a role="menuitem" href="/branch/master/api/options-s3.html">S3</a></li>
<li role="presentation"><a role="menuitem" href="/branch/master/api/options-azure.html">Azure</a></li>
<li class="divider"></li>
<li><b>Methods</b></li>
<li role="presentation"><a role="menuitem" href="/branch/master/api/methods.html">Core & UI</a></li>
<li role="presentation"><a role="menuitem" href="/branch/master/api/methods-s3.html">S3</a></li>
<li role="presentation"><a role="menuitem" href="/branch/master/api/methods-azure.html">Azure</a></li>
<li class="divider"></li>
<li><b>Events</b></li>
<li role="presentation"><a role="menuitem" href="/branch/master/api/events.html">Core & UI</a></li>
<li role="presentation"><a role="menuitem" href="/branch/master/api/events-s3.html">S3</a></li>
<li class="divider"></li>
<li role="presentation"><a role="menuitem" style="margin-left: -20px;" href="/branch/master/api/qq.html">Utilities</a></li>
</ul>
</li>
<li class="dropdown">
<button id="servers-dropdown-trigger" class="dropdown-toggle btn btn-link" data-toggle="dropdown">Servers <b class="caret"></b></button>
<ul class="dropdown-menu" role="menu" aria-labelledby="servers-dropdown-trigger">
<li role="presentation"><a role="menuitem" href="/branch/master/endpoint_handlers/traditional.html">Traditional</a></li>
<li role="presentation"><a role="menuitem" href="/branch/master/endpoint_handlers/amazon-s3.html">Amazon S3</a></li>
<li role="presentation"><a role="menuitem" href="/branch/master/endpoint_handlers/azure.html">Azure Blob Storage</a></li>
</ul>
</li>
<li class="dropdown">
<button id="support-dropdown-trigger" class="dropdown-toggle btn btn-link" data-toggle="dropdown">Support <b class="caret"></b></button>
<ul class="dropdown-menu support" role="menu" aria-labelledby="support-dropdown-trigger">
<li role="presentation"><a role="menuitem" href="/branch/master/browser-support.html">Browsers</a></li>
<li role="presentation"><a role="menuitem" href="/branch/master/faq.html">FAQ</a></li>
<li role="presentation"><a role="menuitem" href="/branch/master/features/handling-errors.html">Handling Errors</a></li>
</ul>
</li>
<li class="dropdown">
<button id="version-dropdown-trigger" class="dropdown-toggle btn btn-link" data-toggle="dropdown">Version <b class="caret"></b></button>
<ul class="dropdown-menu" role="menu" aria-labelledby="version-dropdown-trigger">
<li role="presentation"><a role="menuitem" href="/branch/master">Current: 5.16.2</a></li>
<li role="presentation"><a role="menuitem" href="/branch/master">Stable</a></li>
<li role="presentation"><a role="menuitem" href="/branch/develop">In Progress</a></li>
<li role="presentation">
<form class="tag-chooser">
<input class="tag-input" name="tag" placeholder="5.4.0">
<button class="btn btn-info">Go</button>
</form>
</li>
</ul>
</li>
</ul>
<form method="get" id="search" action="https://duckduckgo.com/" class="navbar-form pull-right">
<input type="hidden" name="sites" value="docs.fineuploader.com/branch/master"/>
<!-- Header -->
<input type="hidden" name="kj" value="#0088CC"/>
<!-- Background -->
<input type="hidden" name="k7" value="#FFFFFF"/>
<!-- Text -->
<input type="hidden" name="k8" value="#444444"/>
<!-- Links -->
<input type="hidden" name="k9" value="#0088CC"/>
<!-- Visited Links -->
<input type="hidden" name="kaa" value="#0088CC"/>
<!-- URLS -->
<input type="hidden" name="kx" value="#F87436"/>
<!-- Font -->
<input type="hidden" name="kt" value="h"/>
<input type="text" name="q" maxlength="255" placeholder="Search…" class="span2" title="search documentation" style="margin-top: 4px;"/>
<input type="submit" value="DuckDuckGo Search" style="visibility: hidden; width: 0;" />
</form>
</div>
</div>
</div>
</div>
<div class="container-fluid">
<div class='row-fluid'>
<div class="span2 sidebar">
</div>
<div class="span9 content">
<span class="pull-right version-number"><p>5.16.2</p></span>
<h2 id="frequently-asked-questions-faq">Frequently Asked Questions (FAQ)</h2>
<p><strong>Q</strong>: Are multiple instances of Fine Uploader on a single page supported?</p>
<p><strong>A</strong>: Absolutely! In fact, our internal development page has 4 different instances of Fine Uploader running at all times. <a href="http://fineuploader.com/demos">The demo page</a> is another example where multiple instances of the library are running side-by-side.</p>
<p><br/>
<strong>Q</strong>: Why can't I select multiple files at once in Android?</p>
<p><strong>A</strong>: Android doesn't officially support the multiple attribute on file input elements. I believe
some builds of Android unofficially supported this, but I can't recall which specific versions.
See case <a href="https://github.com/FineUploader/fine-uploader/issues/840">#840</a> for more details.</p>
<p><br/>
<strong>Q</strong>: I'm using core mode, but I don't want to write my own code to handle dropped files and folders. Can
I use the DnD module used by UI mode?</p>
<p><strong>A</strong>: Certainly, and it's quite easy to do so! Head on over to the <a href="features/drag-and-drop.html">DnD Module Documentation</a> for more information.</p>
<p><br/>
<strong>Q</strong>: In IE, when my server returns its response to an upload request, I see a "Save As..." dialog box on the client. What am I doing wrong?</p>
<p><strong>A</strong>: Your server's response content-type MUST be "text/plain". IE does not handle the "application/json" mime-type. You have
probably read advice from others that claim "text/html" is also safe. This is not always true. You will run into problems with a content-type
of "text/html" if your JSON response contains HTML.</p>
<p><br/>
<strong>Q:</strong> I like UI mode, but I don't want to allow my users to utilize the drag & drop feature. How can I do this?</p>
<p><strong>A:</strong> Simply remove the drop zone elements from the template.</p>
<p><br/>
<strong>Q:</strong> Using the jQuery plug-in in core mode, I can't seem to get my upload button to appear.</p>
<p><strong>A:</strong> It is important to understand that the target of your plug-in should be an existing container element for your upload
component, <em>not</em> the button element. Your button element must be specified separately via the <code>button</code> option.</p>
<p><br/>
<strong>Q:</strong> Why am I seeing an "Access Denied" error in IE's javascript console?</p>
<p><strong>A:</strong> There are two common causes. One cause is triggering the "select files" dialog via javascript. IE does not permit this
and will throw a security error when Fine Uploader attempts to submit the underlying form. Another cause is returning a
response code that is not 200. The error occurs when Fine Uploader attempts to parse the response in the hidden iframe.
See the <a href="browser-support.html#internet-explorer">Internet Explorer Limitations</a> for more details.</p>
<p><br/>
<strong>Q:</strong> Why can't I use a progress bar, drag and drop, multiple file selection, chunking, or auto-resume in some browsers?</p>
<p><strong>A:</strong> Some browsers (IE9 and older, along with Android 2.3.x and older) do not support the File API the <code>multiple</code> attribute on file input elements.
These are all required to give you the best possible experience.</p>
<p><br/>
<strong>Q:</strong> Why isn't Safari for Windows supported?</p>
<p><strong>A:</strong> There is really no reason to use Safari for Windows. Webkit is better represented on that platform in Chrome.
Apple doesn't appear to be interested in maintaining Safari for Windows anymore either. Switch to Chrome.</p>
<p><br/>
<strong>Q:</strong> I have created a <code><button></code> element for my uploader button, but this doesn't seem to work in IE. Why?</p>
<p><strong>A:</strong> In IE, the button element receives the click event, instead of the child input element. Use a <code><div></code> or a <code><span></code> or an <code><a></code> instead. Be sure to add a <code>role</code> attribute with a value of "button" to this element for accessibility reasons.</p>
<p><br/>
<strong>Q:</strong> Why do I only see a "Processing..." message next to a file (in UI mode for the traditional uploader)
in Chrome, Safari, & Opera after the last byte has been sent but the server has yet to respond?</p>
<p><strong>A:</strong> The implementation of the onProgress notification that tells us the status of the bytes sent to the server varies from browser to browser, unfortunately.
Webkit browsers have elected to follow the "spirit" of the W3C spec, while Firefox, and (I believe) IE10, obey the spec in the most strict sense. I have discussed
this in some detail <a href="https://github.com/FineUploader/fine-uploader/issues/404#issuecomment-10124160">in the "processing" status message feature case</a>.</p>
<p><br/>
<strong>Q:</strong> When chunking and multipart encoded are both enabled, why must I determine the original file's name by parsing the qqfilename parameter?</p>
<p><strong>A:</strong> The file data is stored in one of the multipart boundaries contained in the request payload. Normally, the
content-disposition header for this boundary contains the actual file name. However, when the file is split up into parts
client-side, we are sending a <a href="http://www.w3.org/TR/FileAPI/#dfn-Blob">Blob</a> to represent a different part of the
<a href="http://www.w3.org/TR/FileAPI/#dfn-file">File</a> in each request. A <a href="http://www.w3.org/TR/2010/WD-XMLHttpRequest2-20100907/#the-fo.htmlata-interface">FormData</a> object is used to construct these
requests. When a Blob is added to a Fo.htmlata object, the user agent sets the content-disposition header for the associated
multipart boundary in the request to "blob" (or sometimes an empty or random string). As a result, we must
pass the original file name in a parameter.</p>
<p><br/>
<strong>Q:</strong> Why are <code><input type="file"></code> elements I pass into the <code>addFiles</code> method removed from the DOM in IE9 and older?</p>
<p><strong>A:</strong> Internally, Fine Uploader must move these input elements to a <code><form></code> that targets a hidden <code><iframe></code>. This form is then
submitted to simulate a non-page-reloading upload. The act of moving the input to the form removes it from its original
position in the DOM. This is unavoidable as it is not possible to clone a file input element. You should clone
or re-create the <code><input type="file"></code> after submitting it via addFiles, or simply attach the input element to
Fine Uploader via the <a href="api/options.html#button">button</a> or <a href="api/options.html#extraButtons">extraButtons</a> options.</p>
<p><br/></p>
</div>
</div>
</div> <!-- /container -->
<script src="//ajax.googleapis.com/ajax/libs/jquery/1.10.1/jquery.min.js"></script>
<!--
<script src="http://netdna.bootstrapcdn.com/twitter-bootstrap/2.3.2/js/bootstrap.min.js"></script>
-->
<script src="//cdnjs.cloudflare.com/ajax/libs/twitter-bootstrap/2.3.2/js/bootstrap.min.js"></script>
<script>
var _gaq=[['_setAccount','UA-XXXXX-X'],['_trackPageview']];
(function(d,t){var g=d.createElement(t),s=d.getElementsByTagName(t)[0];
g.src=('https:'==location.protocol?'//ssl':'//www')+'.google-analytics.com/ga.js';
s.parentNode.insertBefore(g,s)}(document,'script'));
</script>
<script type="text/javascript">
var clicky_site_ids = clicky_site_ids || [];
clicky_site_ids.push(100643192);
(function() {
var s = document.createElement('script');
s.type = 'text/javascript';
s.async = true;
s.src = '//static.getclicky.com/js';
( document.getElementsByTagName('head')[0] || document.getElementsByTagName('body')[0] ).appendChild( s );
})();
</script>
<noscript><p><img alt="Clicky" width="1" height="1" src="//in.getclicky.com/100643192ns.gif" /></p></noscript>
<script src="/branch/master/_static/js/main.js"></script>
<script src="/branch/master/_static/js/navbar.js"></script>
</body>
</html>