WordPress.org

Make WordPress Core

Opened 4 years ago

Closed 4 years ago

#19494 closed defect (bug) (fixed)

File uploads fail in IE without Flash

Reported by: johnbillion Owned by: ryan
Milestone: 3.3 Priority: highest omg bbq
Severity: blocker Version: 3.3
Component: Upload Keywords: has-patch
Focuses: Cc:

Description

Using IE7 or IE8 (haven't tested IE9) without Flash installed, the multi-file uploader freezes on 0%, fails to upload the file, and attempts to download async-upload.php.

The regular browser uploader works as expected. Maybe we should enforce that and disallow the multi-file uploader?

Attachments (2)

19494.ie8-without-flash.png (16.0 KB) - added by SergeyBiryukov 4 years ago.
19494.patch (527 bytes) - added by azaozz 4 years ago.

Download all attachments as: .zip

Change History (21)

comment:1 @nacin4 years ago

  • Milestone changed from Awaiting Review to 3.3
  • Priority changed from normal to highest omg bbq

comment:2 follow-ups: @azaozz4 years ago

  • Keywords reporter-feedback added

When no runtimes are available Plupload falls back to html4 mode: the button looks the same but the user can select only one file and of course there's no progress. That seems to work properly here (and also on WordPress.com).

Perhaps look into what is being sent to the server or any JS errors?

comment:3 follow-up: @SergeyBiryukov4 years ago

the multi-file uploader freezes on 0%, fails to upload the file, and attempts to download async-upload.php.

Can reproduce freezing: 19494.ie8-without-flash.png. But the file turns out to be uploaded. Downloading of async-upload.php doesn't happen on my install.

comment:4 in reply to: ↑ 3 @johnbillion4 years ago

Replying to SergeyBiryukov:

Can reproduce freezing: 19494.ie8-without-flash.png. But the file turns out to be uploaded. Downloading of async-upload.php doesn't happen on my install.

Yeah the file is actually being uploaded in IE8. I was testing IE7 using IETester and I think the browser was crashing before the upload happened.

I can reliably reproduce the freezing and the attempted download of async-upload.php on three devices across two sites running trunk.

comment:5 @johnbillion4 years ago

Tested on IE9 and a preview of IE10 and everything seems to be ok.

comment:6 in reply to: ↑ 2 ; follow-up: @johnbillion4 years ago

Replying to azaozz:

Perhaps look into what is being sent to the server or any JS errors?

Looking at the HTTP traffic, the request and response are fine (multipart upload sent, server responds with the ID of the new attachment). No JS errors reported by IE.

comment:7 in reply to: ↑ 2 @johnbillion4 years ago

Replying to azaozz:

the button looks the same but the user can select only one file and of course there's no progress.

Looks like the name is misleading in that case as it's called the multi-file uploader in the UI.

comment:8 in reply to: ↑ 6 @azaozz4 years ago

Replying to johnbillion:

Looking at the HTTP traffic, the request and response are fine (multipart upload sent, server responds with the ID of the new attachment). No JS errors reported by IE.

That makes it harder to pinpoint the problem. The attempted download of async-upload.php suggests the server is crashing for some reason. Is there anything in the server logs (if you have access to them).

In any case we can probably hide Plupload and show the browser uploader when the only available runtime is 'html4'. The difference is that the file properties won't show after the file has finished uploading.

comment:9 follow-ups: @SergeyBiryukov4 years ago

Replying to SergeyBiryukov:

Downloading of async-upload.php doesn't happen on my install.

Can reproduce the attempted download of async-upload.php on another server.

comment:10 in reply to: ↑ 9 @johnbillion4 years ago

Replying to azaozz:

That makes it harder to pinpoint the problem. The attempted download of async-upload.php suggests the server is crashing for some reason. Is there anything in the server logs (if you have access to them).

Nope, nothing in the error logs on either site.

Replying to SergeyBiryukov:

Can reproduce the attempted download of async-upload.php on another server.

After a bit of Googling it seems others have had this issue with Plupload too: http://www.plupload.com/punbb/viewtopic.php?id=43

comment:11 in reply to: ↑ 9 @johnbillion4 years ago

Replying to SergeyBiryukov:

Can reproduce the attempted download of async-upload.php on another server.

I can also reproduce this on wordpress.com using IE8 on Win7 on two separate devices.

comment:12 follow-up: @azaozz4 years ago

Looking through Plupload's forum, there's a suggestion that IE < 9 doesn't like line 26 in async-upload.php:

header('Content-Type: text/plain; charset=' . get_option('blog_charset'));

and expects content type of text/html.

Could you test if that fixes it (it's still working as expected here... no way to test).

comment:13 in reply to: ↑ 12 ; follow-up: @SergeyBiryukov4 years ago

Switching to text/html seems to solve both issues (the freezing and the attempted download of async-upload.php).

comment:14 in reply to: ↑ 13 @johnbillion4 years ago

Replying to SergeyBiryukov:

Switching to text/html seems to solve both issues (the freezing and the attempted download of async-upload.php).

Yep, I get the same results here.

comment:15 @nacin4 years ago

  • Component changed from Media to Upload
  • Keywords reporter-feedback removed
  • Severity changed from normal to blocker

comment:16 @johnbillion4 years ago

Just tested the HTML5 uploaders in Firefox and Chrome and they continue to work as expected when async-upload.php uses the text/html content type. Might need testing with the Flash and Silverlight runtimes for completeness.

comment:17 @azaozz4 years ago

Confirmed content type of text/html doesn't affect other browsers/runtimes.

Version 0, edited 4 years ago by azaozz (next)

@azaozz4 years ago

comment:18 @Ramoonus4 years ago

  • Keywords has-patch added

comment:19 @ryan4 years ago

  • Owner set to ryan
  • Resolution set to fixed
  • Status changed from new to closed

In [19586]:

Use text/html to appease IE < 9. Props azaozz. fixes #19494

Note: See TracTickets for help on using tickets.