Asked  7 Months ago    Answers:  5   Viewed   41 times

I want to create a multi file uploder using HTML5 and PHP5. I don't want to use any flash player for support. Flash uploader will not support in iphone. I created the form like this

<form name="uploader" method="post" action="" enctype="multipart/form-data">

    <input type="file" name="images[]" id="images" multiple="multiple" />

    <input type="submit" name="button" value="Submit" /> 

</form>

It is working with chrome, mozilla, opera, safari... but IE not supporting this.

I tried with IE8 and IE9 both are not supporting. How can I fix this? Anybody who knows the solution please kindly help me.

 Answers

23

IE8 does not support HTML5. Perhaps IE9 is running in compatibility mode? Press F12 to bring up the developer tools and in the top menu you can change the settings in what mode it is in.

Maybe it is a solution to use a Java or Flash based system for multiple uploads. Also, these will also usually support drag and drop of files.

Wednesday, March 31, 2021
 
Bono
answered 7 Months ago
98
for ($i = 0; $i < count($_FILES['newsImage']['name']); $i++) {
    // handle upload
}
Wednesday, March 31, 2021
 
aWebDeveloper
answered 7 Months ago
84

Have you set the correct encoding type in your form tag?

<form enctype="multipart/form-data" method="post" action=...>
Wednesday, March 31, 2021
 
themihai
answered 7 Months ago
84

Yes, it is by design that the CORS headers have no affect on the download attribute. There are only two browsers that support the download attribute, Firefox and Chrome, and both browsers have a different policy on cross-origin files.

Chrome versions prior to 65 actually did allow the download attribute on cross-origin files, without CORS headers, but Firefox chose not to, citing potential social-engineering attacks.

MDN documents this behavior for Firefox 20 under the download attribute section for the a tag, behavior that has not changed since.

In Firefox 20 this attribute is only honored for links to resources with the same-origin.


This Bugzilla report discussed the security concerns and the possibility of using CORS.

When the user clicks such a link, the user will be prompted if they want to download. It seems very easy for the user to make the mistake of thinking that something on the original website is being downloaded, and not something from bank.com.


Would it be possible to implement it with same-origin and CORS (Access-Control-Allow-Origin) in mind if you are questioning cross origin security? This is very useful feature for web applications (create Blob using JS and let user download it with some meaningful name)

Google was opposed to using CORS for this.


There's also this Bugzilla report, which summarizes their decision from the other bug report.

Also, cross origin downloads are working perfectly in Google Chrome.

Yes, and we think they're adding security bugs by doing that.

The Bugzilla issues don't seem to rule-out the possibility of using CORS for cross-origin download attribute support in the future, but right now using CORS headers does not do anything for the download attribute. It's possible that if other browsers start supporting the attribute, a consensus may yet be reached.

For sake of completeness, there is of course the Content-Disposition header which you can use to force a download from the other domain, but this does not provide the same functionality as the download attribute. It does have better browser support though.

Tuesday, June 8, 2021
 
SuperString
answered 5 Months ago
77

Try the following:

navigator.serviceWorker.register('sw.js');
Notification.requestPermission(function(result) {
  if (result === 'granted') {
    navigator.serviceWorker.ready.then(function(registration) {
      registration.showNotification('Notification with ServiceWorker');
    });
  }
});

That should work on Android both in Chrome and in Firefox (and on iOS in Safari, too).

(The sw.js file can just be a zero-byte file.)

One caveat is that you must run it from a secure origin (an https URL, not an http URL).

See https://developer.mozilla.org/en-US/docs/Web/API/ServiceWorkerRegistration/showNotification.

Monday, June 28, 2021
 
Tak
answered 4 Months ago
Tak
Only authorized users can answer the question. Please sign in first, or register a free account.
Not the answer you're looking for? Browse other questions tagged :