Рейтинг:
1
OriginalGriff
Не пытайтесь сохранять изображения в Столбцах NVARCHAR (или VARCHAR): они предназначены для текста, а не для двоичных данных. Вместо этого используйте столбец VARBINARY или преобразуйте свое изображение в Base64 и сохраните его - имейте в виду, что вам потребуется гораздо больше места для этого, и вам нужно будет преобразовать его обратно, прежде чем вы сможете его использовать. Типа varbinary является лучшим вариантом.
Member 14552976
если я попытаюсь сохранить его в varbianary, он выдаст ошибку, когда я попытаюсь запустить приложение mvc, которое получает данные в Строковой форме.
OriginalGriff
Затем вам нужно посмотреть на ваше приложение MVC и посмотреть, что оно делает с данными - если оно ожидает двоичные данные в текстовом поле, то его ждет шок от поврежденного изображения: обработка его как данных Unicode действительно испортит изображения, поскольку он будет переведен между UTF-8 и UTF-16 с помощью символов, которые не существуют ...
Он может ожидать текстовую версию изображения - Base64 распространен - но тогда он будет "декодировать" данные в "правильное" изображение, и вам нужно знать, как он это делает, чтобы сохранить его в том же формате.
Member 14552976
теперь я хочу сохранить его в типе данных nvarchar, потому что я извлекаю его в виде строки на стороне контроллера .если я этого не сделаю, это приведет к ошибкам.
OriginalGriff
Нет. Как я уже объяснял, вам нужно проверить, что делает другой конец, и сделать что-то комплиментарное, иначе вы просто создадите себе еще больше проблем.
Member 14552976
разве есть какой-то способ, чтобы сохранить его Ай тип nvarchar
OriginalGriff
Я сказал вам, что вам нужно будет преобразовать его в текстовый формат, такой как Base64, но важно выяснить, что приложение MVC делает с ним, что оно ожидает.
Если он ожидает Base64, то предоставьте это. Если он ожидает необработанный двоичный файл, то ваша таблица должна содержать необработанный двоичный файл.
Member 14552976
он ожидает изображение в виде строки,если я сохраню его в varbinary, он не примет его.
OriginalGriff
Я буду считать до десяти ... а потом бью головой о стол, потому что это прекрасно, когда ты останавливаешься ...
Являются ли все строки образом? Нет, некоторые из них похожи на этот текст.
Таким образом, приложение MVC должно что-то сделать со строкой, чтобы изменить ее или использовать в качестве строки. Или, по крайней мере, проверить, что это "строка, содержащая изображение", а не "строка, содержащая миры Шекспира".
И очень важно, чтобы все, что он ожидает сделать с этим, вы предоставляли данные в форме, с которой он может справиться. Да, это веревка. Но есть много-много способов сделать "строку, содержащую изображение", и мы понятия не имеем, что она делает. И ясно, что сейчас ты тоже не знаешь. И очень важно, чтобы вы узнали, что он делает, чего он ожидает, потому что в противном случае все это будет пустой тратой времени.
Но я не могу сделать это для тебя, не так ли? Итак, как я сказал день назад: "вам нужно посмотреть на ваше приложение MVC и посмотреть, что оно делает с данными"
А я пойду возьму пару таблеток аспирина - у меня болит голова и вмятина на столе.