powered by simpleCommunicator - 2.0.59     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / ASP.NET [игнор отключен] [закрыт для гостей] / Выдает ошибку: Входные данные не являются действительной строкой Base-64
8 сообщений из 8, страница 1 из 1
Выдает ошибку: Входные данные не являются действительной строкой Base-64
    #38493846
Alex_studenticu
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Доброго дня уважаемые форумчане! Возник такой вопрос. Пишу маленький сайтик (пока только этому учусь) и мне выдает ошибку:Входные данные не являются действительной строкой Base-64, поскольку содержат символ в кодировке, отличной от Base 64, больше двух символов заполнения или недопустимый символ среди символов заполнения. причем изображение добавить в БД получается вроде как без вопросов, вопросы такие начинаются когда я пытаюсь отредактировать объект имеющий изображение....там даже перехода к контроллеру не происходит. вот фрагменты кода: 1. Код C#

Код: c#
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
public class Product
    {
        [HiddenInput(DisplayValue = false)]
        public int ID { get; set; }
        [Required]
        public string Name { get; set; }
        [HiddenInput(DisplayValue = false)]
        [Required]
        [Range(0.01, double.MaxValue, ErrorMessage = "Введите пожалуйста верное значение!")]
        public decimal Price { get; set; }

        public byte[] ImageData { get; set; }
        [HiddenInput(DisplayValue = false)]
        public string ImageType { get; set; }
    }


2. Код C#

Код: c#
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
27.
28.
29.
30.
[HttpGet]
        public ActionResult ProductOperation(Product prod)
        {
            OperationalMemory operational = reposytory.OperationalMemories.FirstOrDefault(c => c.ProductID == prod.ID);
            var model = new ProductOperationMemory()
            {
                Product = prod,
                OperationalMemory = operational
            };
            return View(model);
        }

        [HttpPost]
        public ActionResult ProductOperation(ProductOperationMemory model, HttpPostedFileBase image)
        {
            if (ModelState.IsValid)
            {
                if (image != null)
                {
                    model.Product.ImageType = image.ContentType;
                    model.Product.ImageData=new byte[image.ContentLength];
                    image.InputStream.Read(model.Product.ImageData, 0, image.ContentLength);
                }
                reposytory.SaveOperationMemory(model.OperationalMemory);
                reposytory.SaveProduct(model.Product);
                TempData["mesage"] = string.Format("Объект \"{0}\" успешно сохранен!", model.Product.Name);
                return View("AdminPage");
            }
            return View();
        }


3. Код HTML5
Код: html
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
27.
28.
29.
30.
31.
32.
33.
34.
35.
36.
37.
38.
39.
40.
41.
42.
43.
44.
45.
46.
47.
48.
49.
50.
51.
52.
53.
54.
55.
56.
57.
@model Models.ProductOperationMemory

@{
    ViewBag.Title = "ProductOperation";
    Layout = "~/Views/Shared/_AdminLayout.cshtml";
}

@using (Html.BeginForm("ProductOperation","MainAdministrator",
    FormMethod.Post, new { enctype = "multipart/form-data" }))
{
    @*<fieldset>*@
        <legend>Операционная память</legend>
        @Html.HiddenFor(p => p.Product.ID)

        <div>Наименование</div>
        <div>@Html.EditorFor(p=>p.Product.Name)</div>

        <div>Стоимость</div>
        <div>@Html.EditorFor(p=>p.Product.Price)</div>

        @Html.HiddenFor(p => p.OperationalMemory.ID)
        @Html.HiddenFor(p => p.OperationalMemory.ProductID)
        <div>Частота</div>
        <div>@Html.EditorFor(p=>p.OperationalMemory.Frequency)</div>

        <div>PC-индекс</div>
        <div>@Html.EditorFor(p=>p.OperationalMemory.PCIndex)</div>

        <div>Тайминги</div>
        <div>@Html.EditorFor(p=>p.OperationalMemory.Timing)</div>

        <div>Тип DDR</div>
        <div>@Html.EditorFor(p=>p.OperationalMemory.TipeDDR)</div>

        <div>Примечания</div>
        <div>@Html.EditorFor(p=>p.OperationalMemory.Note)</div>

        <div>Изображение</div>
        <div>
            @if (Model.Product.ImageData == null)
            {
                @:None
            }
            else
            {
                <img width="200" height="150" src="@Url.Action("GetImage","MainAdministrator", new {Model.Product.ID})"/>
            }
            <div>Загрузить изображение:
                <input type="file" name="Image"/>
            </div>
        </div>

        <p>
            <input type="submit" value="Сохранить"/>
        </p>
    @*</fieldset>*@
}


вот такой вот код.... как и писал выше добавление вроде проходит нормально, по крайней мере в БД ячейки заполняются, но как только пытаюсь отредактировать объект содержащий изображение вылетает сообщение об ошибке. причем расставив точки останова и наблюдаю что в контроллер с HttpGet даже не заходит..сразу ошибку выдает(( Подскажите пожалуйста что делать За ране огромное спасибо.
...
Рейтинг: 0 / 0
Выдает ошибку: Входные данные не являются действительной строкой Base-64
    #38493908
carrotik
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Alex_studenticu,

.. а на каком этапе у вас происходит конвертация байтов в base64 и наоборот?
...
Рейтинг: 0 / 0
Выдает ошибку: Входные данные не являются действительной строкой Base-64
    #38493919
Alex_studenticu
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
да вот в том то и вопрос что больше ничего кроме приложенного кода вроде как и не прописывал (разве что сохранение)
Код: c#
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
 public void SaveProduct(Product prod)
        {
            if (prod.ID == 0)
            {
                itemDB.Products.Add(prod);
            }
            else
            {
                Product dbProduct = itemDB.Products.Find(prod.ID);
                if (dbProduct != null)
                {
                    dbProduct.Name = prod.Name;
                    dbProduct.Price = prod.Price;
                    dbProduct.ImageData = prod.ImageData;
                    dbProduct.ImageType = prod.ImageType;
                }
            }
            itemDB.SaveChanges();
        }


если конвертация какая и проходит то я не знаю где((
...
Рейтинг: 0 / 0
Выдает ошибку: Входные данные не являются действительной строкой Base-64
    #38493951
Alex_studenticu
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Сейчас еще попутно пробую реализовать удаление из БД и получается так, что обычные данные (без изображения в смысле) удаляет без вопросов, а как только пытаюсь удалить с изображением выдает опять эту ошибку(
...
Рейтинг: 0 / 0
Выдает ошибку: Входные данные не являются действительной строкой Base-64
    #38494409
ShSerge
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
carrotikAlex_studenticu,

.. а на каком этапе у вас происходит конвертация байтов в base64 и наоборот?
Тоже не понял.
...
Рейтинг: 0 / 0
Выдает ошибку: Входные данные не являются действительной строкой Base-64
    #38494421
Alex_studenticu
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
вот тут то и вопрос(( все что было выложил ..... и черт пойми что делать((уже вторые сутки пухну(
...
Рейтинг: 0 / 0
Выдает ошибку: Входные данные не являются действительной строкой Base-64
    #38494504
carrotik
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Alex_studenticu,

... честно, я не спец в Entity Framework, но может, там где-то птичка стоит "Сохранять изображения в виде base64" ?? ... Просто в качестве "А хз, а вдруг?" ...
...
Рейтинг: 0 / 0
Выдает ошибку: Входные данные не являются действительной строкой Base-64
    #38500800
Alex_studenticu
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
не знаю в чем была причина на исправил каким-то образом) переписав код и изменив связи.....если кому интересно то могу потом разместить код)
Спасибо всем за участие)
...
Рейтинг: 0 / 0
8 сообщений из 8, страница 1 из 1
Форумы / ASP.NET [игнор отключен] [закрыт для гостей] / Выдает ошибку: Входные данные не являются действительной строкой Base-64
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]