I have am in the process of setting up an Umbraco 7 website that has limited editing facilities (i.e. only one person will be updating the site, a relatively experienced user at that). I would like this user to be able to upload Zip files.
It appears that the disallowedUploadFiles in config/umbracoSettings.config is totally ignored:
ashx,aspx,ascx,config,cshtml,vbhtml,asmx,air,axd,swf,xml,html,htm,svg,php,htaccess
Instead, it uses jQuery to upload the files, and the jQuery uploader has its own list of allowed files. I looked inside umbraco_client\FileUploader\Js\jquery.fileUploader.js and altered the following:
(function ($, window, document, undefined) {
$.event.props.push('dataTransfer');
var defaultOptions = {
autoUpload: false,
limit: false,
allowedExtension: 'jpg|jpeg|gif|png|pdf', // alter this line to include your file types
dropTarget: null,
...
I don't recommend expanding this to Exe's or Zips if your users are not 100% expert and totally trusted not to upload bad files. I wanted just to be able to upload Zip files.
Next, I had to look at the file size limits. ASP.NET's defaults are too low. To fix this, I edited web.config, to add the maxRequestLength and executionTimeout attributes:
...
I also had to add a System.WebServer.Security section to the web.config:
...
This allowed my uploads to work ok.
The alternative to doing this I guess (I didn't try it) was to upload small text files as place holders and then log into the server and change the files - which are placed inside the media folder under a subfolder which is the Id of the media item.
Thanks to Scott Leslie's post that I found that reminded me of what needs doing to set the file upload limits in web.config http://sleslie.me/2014/change-maximum-upload-file-size-in-umbraco/
Leave a Reply