如何在Umbraco 8中上传文件并将其值设置为文件上传数据类型

问题描述 投票:2回答:1

Image for uploaded file是否有一种简单的方法可以在控制器级别将文件上传到Umbraco 8中的媒体文件夹,并将其设置为文件上传数据类型的值。这是我用于版本7的代码,它似乎可以正常工作:

        if (model.FileUpload != null)
        {
            IMediaService mediaService = Services.MediaService;
            var media = mediaService.CreateMedia(model.FileUpload.FileName, 1834, "File");
            media.SetValue("umbracoFile", model.FileUpload.InputStream);
            mediaService.Save(media);
            content.SetValue("entry", $"media/{media.Key}");

        }
umbraco umbraco8
1个回答
0
投票

我已经检查了您的代码,似乎只有几件事我觉得不错。

[创建媒体时,您的媒体类型别名为“ File”,在我的代码中,我们使用了“ Image”Umbraco文档说

<< [Image媒体类型用于上载和存储图像,而File媒体类型用于上载和存储“媒体”部分中的其他文件。

所以我认为应该是:

var media = mediaService.CreateMedia(model.FileUpload.FileName, 1834, "Image");

也许您也需要稍微更改SetValue。像

var fileName = Path.GetFileName(model.FileUpload.FileName); media.SetValue(Services.ContentTypeBaseServices, "umbracoFile", fileName, model.FileUpload.InputStream);

如果model.FileUpload.InputStream是包含数据的FileStream。
© www.soinside.com 2019 - 2024. All rights reserved.