Umbraco Media Via Cloudinary - PullRequest
       13

Umbraco Media Via Cloudinary

0 голосов
/ 15 ноября 2018

Я пытался сменить Umbraco, чтобы медиа предоставлялись через Cloudinary.

То, что я до сих пор делал, это создаю новую IFileSystem

Вот небольшой фрагмент:

public CloudinaryFileSystem()
    {
        var account = new Account(
            "account",
            "key",
            "secret");
        _cloudinary = new CloudinaryDotNet.Cloudinary(account);

    }
    public IEnumerable<string> GetDirectories(string path)
    {
        var test = "test";
        return new List<string>{test};
    }

Я также обновил FileSystemProvider.config:

 <!-- Media -->
<Provider alias="media" type=" Extensions.CloudinaryFileSystem, Extensions">
    <Parameters>
    </Parameters>
  </Provider>

Я также добавил расположение пути мультимедиа в файле web.config:

<location path="media">
<system.webServer>
  <handlers>
    <remove name="StaticFileHandler" />
    <add name="StaticFileHandler" path="*" verb="*" preCondition="integratedMode" type="System.Web.StaticFileHandler" />
  </handlers>
</system.webServer>
 </location>

Теперь, когда я запускаю проект, я могу загрузить новое изображение:

enter image description here

Когда я загружаю изображение, оно попадает в мой пользовательский провайдер файлов и загружает файл в Cloudinary

Код:

public void AddFile(string path, Stream stream)
    {
        ImageUploadParams prmas = new ImageUploadParams();

        var folder = path.Split('\\')[0];
        var name = path.Split('\\')[1];

        prmas.Folder = "media/" + folder;

        prmas.UseFilename = true;
        prmas.File = new FileDescription(name, stream);

        _cloudinary.Upload(prmas);
    }

Проблема, с которой я столкнулся сейчас, заключается в том, что при просмотре мультимедиа в Umbraco он все еще исходит из локальных носителей, и у меня есть все методы, реализованные для IFileSystem, но только я могу использовать их, когда я просматриваю мультимедиа в Umbraco.

В данный момент я просто играю, поэтому код немного грязный. Но я не понимаю, почему это не работает.

Я что-то упустил?

Спасибо!

1 Ответ

0 голосов
/ 03 декабря 2018

Обнаружена проблема с этим, существуют методы для получения информации о файле, чтобы установить ее для Umbraco.Они не используются для получения информации о файле после загрузки.

...