Framework: Support RFC 1867 accept attribute for file upload

Created on 24 May 2012  路  7Comments  路  Source: vaadin/framework

Originally by @hesara


The RFC 1867 accept attribute enables defining which MIME types are selectable in a file upload dialog. While the browser support is limited, many newer versions of browsers do support it. We could add support for setting the attribute in the Upload component, with a warning that not all browsers respect it.

See http://en.wikipedia.org/wiki/File_select#Accept_attribute and the forum thread https://vaadin.com/forum/-/message_boards/view_message/428096 .


Imported from https://dev.vaadin.com/ issue #8857

enhancement

Most helpful comment

Originally by _phansson_


All browsers now support this feature. This is low hanging fruit to implement and will improve end-user's experience.

Example:

<input type="file" name="foo" accept=".bar">

The above will - at least on Windows - bring up a file browser that is filtering on *.bar by default. Nice.

In short this is really a matter of Vaadin supporting the GWT InputElement's setAccept() method. Should be easy, I think.

All 7 comments

Originally by _phansson_


All browsers now support this feature. This is low hanging fruit to implement and will improve end-user's experience.

Example:

<input type="file" name="foo" accept=".bar">

The above will - at least on Windows - bring up a file browser that is filtering on *.bar by default. Nice.

In short this is really a matter of Vaadin supporting the GWT InputElement's setAccept() method. Should be easy, I think.

will this be integrated in Vaadin 8 or is there a workaround maybe?

Would be a nice feature for guiding the use to select only specified files.

Hello there!

It looks like this issue hasn't progressed lately. There are so many issues that we just can't deal them all within a reasonable timeframe.

There are a couple of things you could help to get things rolling on this issue (this is an automated message, so expect that some of these are already in use):

  • Check if the issue is still valid for the latest version. There are dozens of duplicates in our issue tracker, so it is possible that the issue is already tackled. If it appears to be fixed, close the issue, otherwise report to the issue that it is still valid.
  • Provide more details how to reproduce the issue.
  • Explain why it is important to get this issue fixed and politely draw others attention to it e.g. via the forum or social media.
  • Add a reduced test case about the issue, so it is easier for somebody to start working on a solution.
  • Try fixing the issue yourself and create a pull request that contains the test case and/or a fix for it. Handling the pull requests is the top priority for the core team.
  • If the issue is clearly a bug, use the Warranty in your Vaadin subscription to raise its priority.

Thanks again for your contributions! Even though we haven't been able to get this issue fixed, we hope you to report your findings and enhancement ideas in the future too!

no workaround at least?

I guess you already found a way around, but here is how we solved it:

String javascript = "Array.from(document.getElementsByClassName('gwt-FileUpload')).forEach("
        + "function(element, index, array){element.setAttribute('accept', '" + validImageFormats + "')});";
JavaScript javaScript = JavaScript.getCurrent();
javaScript.execute(javascript);

Still I vote to have it properly integrated into vaadin :)

Nice - accept in Vaadin 8.5.0!

Was this page helpful?
0 / 5 - 0 ratings