Sometimes cannot select multiple files

Oct 20, 2010 at 9:05 AM
Edited Oct 20, 2010 at 9:06 AM

I have a problem where NeatUpload's MultiFile control sometimes opens the standard single file selection dialog instead of SWFUpload's dialog that allows multiple files to be added at once.

This happens to me in IE 8.0.7600.16385 and in Firefox 3.6.10. I have updated my Flash player today and have version 10.1.85.3. It also happened in several different browsers on other computers.

The problem occurs on your demo site at http://www.brettle.com/Demo.aspx as well as on the demo when installed on my own server and when I insert the controls on my own page (of course with UseFlashIfAvailable="true"). I have tested it both using inline and popup progress bar to be sure, and the behavior is the same in both cases.

 

To specify what I mean when I say "sometimes": When loading/reloading the page, it will either be in a state where I get the correct multifile dialog every time I press "Add file", or it will be in a state where I get the single file dialog every time. Reloading/reopening the page gives a chance that the behavior changes. However, I seem to often get the same behavior many times in succession, making testing difficult. It can work 30 times in a row and then fail 30 times in a row.

Note that I am not talking about the fact that the flash video is not loaded until after a few seconds. When it fails, it gives the single file dialog no matter how long you wait or how many times you try.

On one occasion where I clicked the "Add file" button several times quickly after loading the page, I was able to first get the single file dialog before flash was loaded, then the multi file dialog, and finally the single file dialog again, as if the flash movie got unloaded or removed.

When I use Firebug to look at the source code, the div (referred to as replacementDiv in the javascript and with an id ending in _flash) containing the flash movie is present whenever it works correctly, and missing whenever I only get the single file dialog. Also, the flash video is listed under Media Info in Firefox when it works, and not when it fails. So that seems to point to the cause of the problem.

I haven't figured out all of what goes on in the javascript, but my suspicion is that since the problem happens randomly and seemingly with no pattern it could be a timing issue, given that the code calls a lot of stuff in timeout() functions. But that is of course just my guess, as I dont know the code.

Oct 21, 2010 at 10:51 AM

Upon further investigation, in the function FlashReady() there is a line saying

if (!numf.Swfu || !numf.Swfu.movieElement || !numf.Swfu.movieElement.StartUpload) .....

Whenever it fails (in Firefox at least), numf.Swfu.movieElement.StartUpload is false (or null probably), causing the div containing the flash movie to be removed.

If I comment out the line that removes it, I can open the multifile selection dialog, the files get added to the list, but nothing gets uploaded. In one case i clicked the "add file" button before flash was loaded, and added a single file, and after that added many files with the multifile dialog. When submitting, only the single file got uploaded.

When the error doesn't occur, all files added through the multifile dialog are uploaded correctly.

Oct 21, 2010 at 11:37 AM

In IE on http://www.brettle.com/Demo.aspx i currently seem to always get a single file dialog from the topmost "Add File..." but a multifile dialog from the bottommost "Add File...".

On my own page, sometimes it just works in IE and sometimes it fails. When it fails in IE, it doesnt call the FlashReady() function, which to my knowledge means that the flash movie isnt loading at all.

 

I also encountered a new bug (on http://www.brettle.com/Demo.aspx as well as my own page). I have only seen this in Firefox so far, and it only happens sometimes (even though I'm testing with the same files). During upload I get the error "destElem is null" on line 135 in Progress.js. The line is: 

destElem.innerHTML = innerXml;

Coordinator
Oct 23, 2010 at 3:25 PM

Hi,

Can you try a couple of changes in NeatUpload.js and see if it solves this for you.

In the function MoveAndResizeDivAndAddFlash() near the bottom right after the swfupload constructor is called can you add the line shown:

numf.Swfu = new SWFUpload({
                        debug : numf.debug_enabled,
                        flash_url : numf.AppPath + '/NeatUpload/SWFUpload.swf',
                        upload_target_url : numf.UploadScript,
                        upload_params : numf.UploadParams,
                        file_size_limit: 2097151,
                        begin_upload_on_queue : false,
                        file_queued_handler : FileQueued,
                        file_cancelled_handler : FileCancelled,
                        queue_complete_handler : QueueCompleted,
                        flash_ready_handler : FlashReady,
                        file_types : flashFilterExtensions,
                        file_types_description : flashFilterDescription,
                        flash_width : width,
                        flash_height : height,
                        flash_container_id : container.id
        });
        //added here by Joe Audette because of an issue where it does not always get called in IE 8 since recent flash upgrades
        FlashReady();

then in the very beginning of function FlashReady() add this:

if (numf.IsFlashLoaded) { return; }

it seems that sometimes the FlashReady function is not called so this extra attempt to call it seems to fix it for me testing in IE 8.

Can you try the fix and verify if it solves it for you?

probably should clear your browser cache after editing the js.

Best,

Joe

Oct 26, 2010 at 2:56 PM

Hello.

Thanks for looking into the issue. We have however decided to choose a different file uploader for our project.

I hope my feedback has helped you clean out some bugs. The problems did seem like they would affect everyone.

Best,

Jesper

Feb 22, 2011 at 1:13 PM
Edited Feb 22, 2011 at 3:56 PM

It seems I have a similar issue now after I installed Flash 10.2.154.12 on Chrome and 10.2.152 on Firefox. 

I've installed the newest Version of NeatUpload that I could find: 1-3-26.

On a different machine with IE 8 and Flash 10.1.102 it still works.

The problem that I am facing is that it does not upload any files when using HTTPS. If I switch to HTTP it works again. 

 

UPDATE:

Actually seems like the certificate is the problem:

http://swfupload.org/forum/generaldiscussion/347

On my test server I just have a handmade certificate. It works on the Production Server.