Неожиданный конец потока, на моем компьютере друзей, но не мой. .Net Core, SQL - PullRequest
0 голосов
/ 30 октября 2018

Как следует из названия, мой друг получает эту ошибку на веб-сайте, который я сделал. Когда он пытался добавить автомобиль в базу данных.

Ошибка: enter image description here

Он прислал мне эту фотографию.

В машине есть эти реквизиты:

 public class CarModel
{
    [Key]
    public int Id { get; set; }

    [DisplayName("Årsmodel")]
    public int Year { get; set; }

    [DisplayName("Märke")]
    [StringLength(100)]
    public string Brand { get; set; }

    [DisplayName("Modell")]
    [StringLength(160)]
    public string Model { get; set; }

    [DisplayName("Hästkrafter")]
    public int HorsePower { get; set; }

    [DisplayName("Färg")]
    [StringLength(160)]
    public string Color { get; set; }

    [DisplayName("Fyrhjulsdrift")]
    public bool IsFourWheelDrive { get; set; }

    [DisplayName("Pris")]
    [Range(0,int.MaxValue)]
    public int Price { get; set; }

    [DisplayName("Övrigt/Beskrivning")]
    [StringLength(1000)]
    public string Description { get; set; }

    [DisplayName("Miltal")]
    public int Miles { get; set; }

    [DisplayName("Bränsle")]
    public string Fuel { get; set; }

    [DisplayName("Automatlåda")]
    public bool IsAutomatic { get; set; }

    [DisplayName("Bilder")]
    public List<PicturePathModel> Pictures { get; set; }

    [DisplayName("Är bilen påväg?")]
    public bool IsOnTheWay { get; set; }
}

PicutePathModel - это просто модель с путем к изображениям.

Заполненная форма имеет 12 входных данных (строки, целые и bools) и один селектор файлов.

Я предполагаю, что ошибка связана с селектором файлов.

Почему он получает эти ошибки, а не я? Это потому, что он старше ПК? Что его браузер не поддерживает селектор файлов?

Вот метод контроллера:

[HttpPost]
    public async Task<IActionResult> CreateCar(CreateCarVM VM)
    {
        if (!ModelState.IsValid)
        {
            return BadRequest(ModelState);
        }
        var CarToSave =  VM.Car;
        if (VM.Images != null)
        {
            string webRootPath = _hostingEnvironment.WebRootPath;
            var listOfPaths = new List<PicturePathModel>();
            var randomName = Guid.NewGuid().ToString();
            var SaveFileIn = Path.Combine(webRootPath, "images", randomName);
            var pathToSaveFileIn = "/images/"+randomName;
            Directory.CreateDirectory(SaveFileIn);
            foreach (var file in VM.Images)
            {
                if (file.Length > 0)
                {
                    var path = new PicturePathModel()
                    {
                        Path = Path.Combine(pathToSaveFileIn, file.FileName)
                    };
                    using (var stream = new FileStream(Path.Combine(SaveFileIn, file.FileName), FileMode.Create))
                    {
                        await file.CopyToAsync(stream);
                    }
                    path.CarModelId = VM.Car.Id;
                    Console.WriteLine(pathToSaveFileIn);
                    listOfPaths.Add(path);
                    _context.Pictures.Add(path);
                }
            }
            CarToSave.Pictures = listOfPaths;
        }                     
        //Save the car.
        _context.CarModels.Add(CarToSave);
        await _context.SaveChangesAsync();
        return View(VM);
    }

В чем может быть проблема? Очень благодарен за каждый ответ.

1 Ответ

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

Это показывает, что его веб-браузер действительно стар.

Так что, если кто-то получит эту ошибку и использует атрибут multi. Проверьте версию браузера.

...