input tag with accepts - html

I have a file to upload in my page.
<input type="file" id='fFile' name="template"/>
But I want it to show only rptdesign file. Could anyone please help?
Also I have added
<input type="file" id='fXls' name="template"
accept="application/vnd.openxmlformats-officedocument.spreadsheetml.sheet"/>
for xlsx but when the dialog box appears with All files and Xlsx in the dropdown but all All Files selected. Can Xlsx be selected?

Look into MIME_Types:
<input accept="audio/*|video/*|image/*|MIME_type">
A list of different media MIME-types here!
Note: The accept attribute of the input tag is not supported in Internet Explorer 9 and earlier versions.
EDIT
In your Tomcat configuration files, go to your web.xml.
If you scroll down you will find mime-type mapping. Here you can specify extensions for the server!
Example (web.xml):
<mime-mapping>
<extension>asx</extension>
<mime-type>video/x-ms-asf</mime-type>
</mime-mapping>
Hopefully that helps!

In chrome its working fine and I found out that firefox are still working on it.
https://bugzilla.mozilla.org/show_bug.cgi?id=826185

Related

Safari cannot upload file w/ unknown mime type (?) (shows "tempImage")

Here's a very weird bug that occurs in Safari 15.3 and 15.4 (macOS) but not in any other browser.
If I have the following element:
<input type="file" accept=".json,.cbor">
I can select any .cbor file.
However, if I do:
<input type="file" accept=".json,.jpg,.cbor">
Safari shows a 'tempImageXXXXX.jpg' name and does not select the actual file.
This only happens for .cbor files in our test, but I assume it might have something to do with unknown mime types? .wav, .json, .jpeg, .mp4, etc. all have no issues. Also no other browser has any issues with this. Re-ordering the extensions in the element neither.
To replicate: just rename a txt file to .cbor and paste the code above into jsfiddle.
try using this:
<input type="file" accept="application/json,image/jpg,.cbor" />
if that did not work fine, try changing .cbor with text/plain
The actual answer is that Webkit (the web engine behind Safari) is converting images when an image mime-type is listed in the accept tag of an HTML element. This has been introduced with the following change in Webkit and it is used in their example to transform HEIC images into JPEG on the fly when an image is drag and dropped from the Photos app.
However, at Ocus, we discovered a bug linked to this change. For some mime-types (which I haven't been able to list) the name of the file is changed to tempImageXXXXX. The OP's fix worked because they used image/* instead of a specific image mime-type in the accept field.
So, the real fix is the above bug.
What you can do meanwhile is use:
<input type="file" accept="application/json,image/*,.cbor" />
You can check for specific image mime-type by plugging into the input's events.

JQuery file upload disable not image preview

I use yii2 and blueimp jQuery File Upload Plugin for upload multiple files at my site.
How I can disable preview for not image files?
I found this on the Project website on github:
You can use the accept attribute of the file input field to limit the file type selection, though this seems to be supported only on Google Chrome and Opera.
An example limiting files to PNG images:
<input type="file" name="files[]" accept="image/png" multiple>
Note that this will not limit files added by drag&drop and is not supported across all browsers.
If you must upload files with a specific extension you can restric the upload.

HTML file input accept only .zip files (not .exe)

using this for the accept field in my file input:
application/zip,application/x-zip,application/x-zip-compressed,application/octet-stream
Result:
Internet Explorer: Only shows .zip. Yay.
FireFox: shows all files, but I can change dropdown to only show .zip. Can I change .zip to be the default view somehow?
Chrome: shows .zip and .exe. How do I exclude .exe?
I know chrome is technically right, but I'm trying to be user friendly here.
try
<!-- (IE 10+, Edge, Chrome, Firefox 42+) -->
<input type="file" accept=".zip,.rar,.7zip" />
<input type="file" accept="zip,application/octet-stream,application/zip,application/x-zip,application/x-zip-compressed">
application/octet-stream is the "catch-all" bucket. It's the default mime-type if the filename has no extension to help determine it. It's also the source of your EXE representation in Chrome, I'm guessing.
Limit file format when using <input type="file">?
You can also try reducing it with the "accept" attribute on the INPUT/File. That link above also has a link to a JSFiddle page you can play and test with.

input tag to get file path

I've observed that the selected file path is being displayed on Internet explorer and same does not appear in any other browser as shown below,
<li>Left File : <input type="file" name="dataFile1" id="fileChooser1" /></li><li><br></li>
<li>Right File : <input type="file" name="dataFile2" id="fileChooser2" /></li><li><br></li>
<li>Config File : <input type="file" name="dataFile3" id="fileChooser3" /></li><li><br></li>
So how do I get the path like in IE in chrome?
For security concerns modern browsers such as Chrome and Firefox do not provide you with any path information, therefore you simply can't access it. I don't think you want to rely on a feature which is only provided by IE6 and earlier versions. Also, why would your web app need to know about the full path of file to be uploaded back on client's local machine. It would be great to know the use case for the same. I am curious.

Select directory for HTML5 multiple file input in Firefox?

I want to allow users to select a local directory on a webpage (and then read all the files in the directory).
In Chrome I can add the webkitdirectory attribute to enable this functionality. According to a comment in this question and an answer to this question you should be able to do the same in firefox using mozdirectory but I am unable to get it to work.
I have tried the following in Firefox with no luck (works in Chrome):
<input type="file" id="files" name="files[]" multiple mozdirectory="" webkitdirectory="" directory="" />
My Firefox version is 10.0.
Are there any way for a user to select a directory for input in Firefox without requiring an add-on on the client-side (like Flash)?
Firefox doesn't have any API to upload directories yet (which is a shame)...not even in the nightly builds, so I don't think we will see support on this very soon. IE doesn't have one either. If you want to take advantage of this feature you must force the users to use Google Chrome (e.g. make them aware that upload directory is available only in Chrome).
A workaround would be to compress the directory in a .zip file and read it with the FileReader API. See https://stackoverflow.com/a/7842896/613453
Update
IE Edge now has support for this.
https://msdn.microsoft.com/en-us/library/mt574730(v=vs.85).aspx
Now you can upload directory using drag and drop with chrome
read this article you will get more info
http://updates.html5rocks.com/2012/07/Drag-and-drop-a-folder-onto-Chrome-now-available