MCPcopy
hub / github.com/moxiecode/plupload / resolveFile

Function resolveFile

js/plupload.dev.js:3660–3715  ·  view source on GitHub ↗

* @method resolveFile * @private * @param {mxiFile|mxiBlob|FileUploader|File|Blob|input[type="file"]} file

(file)

Source from the content-addressed store, hash-verified

3658 * @param {mxiFile|mxiBlob|FileUploader|File|Blob|input[type="file"]} file
3659 */
3660 function resolveFile(file) {
3661 var type = plupload.typeOf(file);
3662
3663 // mxiFile (final step for other conditional branches)
3664 if (file instanceof moxie.file.File) {
3665 if (!file.ruid && !file.isDetached()) {
3666 if (!ruid) { // weird case
3667 return false;
3668 }
3669 file.ruid = ruid;
3670 file.connectRuntime(ruid);
3671 }
3672
3673 queue.push(function(cb) {
3674 // run through the internal and user-defined filters, if any
3675 filterFile(file, function(err) {
3676 var fileUp;
3677
3678 if (!err) {
3679 fileUp = new PluploadFile(file, _queueUpload, _queueResize);
3680
3681 if (fileName) {
3682 fileUp.name = fileName;
3683 }
3684
3685 bindListeners(fileUp);
3686
3687 self.addItem(fileUp); // make files available for the filters by updating the main queue directly
3688 filesAdded.push(fileUp);
3689 self.trigger("FileFiltered", fileUp);
3690 }
3691
3692 plupload.delay(cb); // do not build up recursions or eventually we might hit the limits
3693 });
3694 });
3695 }
3696 // mxiBlob
3697 else if (file instanceof moxie.file.Blob) {
3698 resolveFile(file.getSource());
3699 file.destroy();
3700 }
3701 // native File or blob
3702 else if (plupload.inArray(type, ['file', 'blob']) !== -1) {
3703 resolveFile(new moxie.file.File(null, file));
3704 }
3705 // input[type="file"]
3706 else if (type === 'node' && plupload.typeOf(file.files) === 'filelist') {
3707 // if we are dealing with input[type="file"]
3708 plupload.each(file.files, resolveFile);
3709 }
3710 // mixed array of any supported types (see above)
3711 else if (type === 'array') {
3712 fileName = null; // should never happen, but unset anyway to avoid funny situations
3713 plupload.each(file, resolveFile);
3714 }
3715 }
3716
3717 ruid = getRUID();

Callers 1

UploaderFunction · 0.70

Calls 2

filterFileFunction · 0.70
bindListenersFunction · 0.70

Tested by

no test coverage detected