У меня есть служба приложений Azure (Linux) с подключенным локальным общим ресурсом из контейнера BLOB-объектов хранилища Azure. Я следовал руководству на этой странице . Когда я пытаюсь получить доступ к файлу в локальной общей папке через http, я получаю HTTP-ОШИБКУ 404. URL-адрес: https://cid-linux-storage.azurewebsites.net/media/naa.jpg.
Монтирование хранилища имеет следующие свойства;
В терминале SSH доступно крепление хранилища.
Крепление также видно при просмотре сайта в Куду.
Отредактировано: конфигурация службы приложений.
Для контейнера больших двоичных объектов задан анонимный уровень доступа.
Я применил аналогичный метод, используя службу приложений Windows и общий файловый ресурс, и он оказался успешным. Для этого сайта я бы предпочел использовать контейнерный подход Linux/Blob.
Мои навыки работы с Linux весьма ограничены, и для моей проблемы может быть простое решение. Буду признателен за любую помощь.
Да. Я хочу получить доступ к статическим изображениям (jpg) в папке /media.
Вы загружаете изображения с портала или через приложение?
Как выглядит ваш файл Program.cs
?
Изображения загружаются в контейнер больших двоичных объектов из другой службы Azure. Нет program.cs, это будет чисто статический сайт.
Хорошо...проверяю со своей стороны...сообщу, смогу ли я получить доступ
Я не могу включить базовую опцию . Не могли бы вы поделиться конфигурацией службы приложений?
Каков стек времени выполнения вашей службы приложений?
Я добавил конфигурацию службы приложений выше.
Давайте продолжим обсуждение в чате.
Да, хорошая идея.
Проверьте комментарии, которыми я поделился в чате.
Даже я не могу получить доступ к изображениям непосредственно из папки. Я даже пробовал загружать изображения вручную.
Используйте приведенный ниже обходной путь, чтобы получить доступ к изображениям (или любым статическим файлам) из подпапки, которая находится в каталоге wwwroot
.
Program.cs
приложение по умолчанию обслуживает статические файлы, вы можете видеть UseStaticFiles
.Я взял ссылки из MSDoc,
Чтобы получить доступ к файлам из подпапки (в вашем случае носителя), измените код, как показано ниже.
app.UseStaticFiles(new StaticFileOptions
{
FileProvider = new PhysicalFileProvider(
Path.Combine(builder.Environment.ContentRootPath, "media")),
RequestPath = "/media"
});
Разверните веб-приложение в той же службе приложений Azure Linux, в которую вы отправили файлы.
Теперь вы можете получить доступ к файлам напрямую.
https://testapp29july.azurewebsites.net/media/foster-lake.jpg
Выход:
Вы хотите получить доступ к статическим файлам (в вашем случае к изображению)?