Произошла ошибка при добавлении данных на удаленный сервер MySql - PullRequest
0 голосов
/ 07 июня 2019

Я пытаюсь загрузить новое сообщение на удаленный SQl-сервер, все работает нормально, но когда я выбираю фотографию при загрузке, появляется сообщение «произошла ошибка при обработке вашего запроса», это прекрасно работает на локальном сервере, но не на удаленном сервере

public async Task NewPost ([Bind ("Id, Title, PhotoUrl, Category, Description,")] Post post) {

        var files = HttpContext.Request.Form.Files;
        foreach (var Image in files)
        {
            if (Image != null && Image.Length > 0)
            {

                var file = Image;
                var uploads = System.IO.Path.Combine(Directory.GetCurrentDirectory(), "wwwroot/postimages");

                if (file.Length > 0)
                {
                    var fileName = ContentDispositionHeaderValue.Parse
                        (file.ContentDisposition).FileName.Trim('"');

                    System.Console.WriteLine(fileName);
                    using (var fileStream = new FileStream(Path.Combine(uploads, file.FileName), FileMode.Create))
                    {
                        await file.CopyToAsync(fileStream);
                        post.PhotoUrl = file.FileName;
                    }


                }
            }
        }
            post.Author = _user.GetUserName(HttpContext.User);
        _context.Posts.Add(post);
        await _context.SaveChangesAsync();
        return RedirectToAction("Index", "Admin");
    }

отлично работает на локальном сервере,

1 Ответ

0 голосов
/ 08 июня 2019

Кажется, проблема связана с разрешениями хранилища. Он отлично работает в localhost и показывает ошибки только на сервере. Более того, в ваших комментариях вы упомянули, что это решение для виртуального хостинга. В виртуальном хостинге для Windows вам нужно будет специально предоставить разрешения для вашего пользователя IIS для определенной папки. Это можно сделать на веб-сайте вашего хостинг-провайдера (у вас может быть консоль, например, параллели).

...