Opened 8 years ago

Closed 7 years ago

Last modified 7 years ago

#14245 closed defect (fixed)

Dojox Uploader sends empty file using IFrame plugin

Reported by: ldavis Owned by: Mike Wilcox
Priority: high Milestone: 1.9
Component: DojoX Uploader Version: 1.6.1
Keywords: uploader iframe empty Cc:
Blocked By: Blocking:

Description

When using the IFrame plugin on dojox.Uploader under IE, every upload sends an additional zero byte unnamed file. It does send the correct file as well, so you can filter out this bad file on the server.

However, it is more of a problem when you use FileList?, as the zero byte unnamed file is the one the appears in the list, not the desired file you want to upload, so it is misleading to the user.

Change History (5)

comment:1 Changed 8 years ago by bill

Milestone: tbd

comment:2 Changed 7 years ago by Karl Tiedt

Just ran into this problem too... hoping to find a way to fix it... so far no luck in debugging it though :(

In version 1.8.x

comment:3 Changed 7 years ago by Karl Tiedt

Dirty fix for 1.8 (not for the new AMD version of the uploader) [sorry this is not a patch file, but generating the patch was being a PITA today] -- it adds a dependecy on dojo/query and dojo/dom-construct

in IFrame.js uploadIFrame function.... add the query() below the if/else check near the top -- note: this could use better error checking if the form is used for other input types than just files --- hence the "dirty" aspect of the fix... working on a cleaner patch for trunk version

		}else{
			form = this.form;
		}
		
		query("input", form).forEach(function(node){
			console.log("checking for empty fileNode: ", node.name, node.value);
			if (node && !node.value) {
				console.log("destroying: ", node.name);
				construct.destroy(node);
			}
		});
Last edited 7 years ago by Karl Tiedt (previous) (diff)

comment:4 Changed 7 years ago by Mike Wilcox

Resolution: fixed
Status: newclosed

In [30851]:

Fixes #14245

comment:5 Changed 7 years ago by bill

Milestone: tbd1.9
Note: See TracTickets for help on using tickets.