More
Choose

How to upload a file to Umbraco 8

How to upload a file in Umbraco 8

Read Post
Blog Category  Umbraco
Blog Posted  14th October 2019

Uploading a file into Umbraco 8 has changed slightly, using the code below as found on the Umbraco Help Forums, worked for me:

Now you need the IContentTypeBaseServiceProvider and a Stream.

// Umbraco 8
using Umbraco.Core; <- Important..
// Needed Interfaces
IMediaService _mediaService; 
IContentTypeBaseServiceProvider _contentTypeBaseServiceProvider;
// The new way to do it.
IMedia media = _mediaService.CreateMediaWithIdentity("Filename", 1234, "File");
media.SetValue(_contentTypeBaseServiceProvider, "umbracoFile", "FilenameWithExtension", Stream);
_mediaService.Save(media);

Byte[]

byte[] byteArray;
using (Stream stream = new MemoryStream(byteArray))
{
media.SetValue(_contentTypeBaseServiceProvider, "umbracoFile", "FilenameWithExtension", stream);
}

HttpPostedFileBase

HttpPostedFileBase httpPostedFileBase;
media.SetValue(_contentTypeBaseServiceProvider, "umbracoFile", httpPostedFileBase.FileName, httpPostedFileBase.InputStream);

Thanks to Bo Jacobsen for sharing the solution!