Загрузка и сохранение фотоизображений - PullRequest
0 голосов
/ 18 марта 2019

Для формы клиента мне нужно загрузить фотографию и сохранить ее в файловой системе, но после того, как вся форма заполнена и отправлена.

Я загружаю файл с помощью HttpPostedFileBase, используя загрузку файла ajax, и я пытался сохранить его в переменной сеанса, а после отправки всей формы сохранить его из сеанса в файл. Пытался преобразовать его в байтовый массив, но безуспешно.

Не удалось найти образец для этой работы.

Кто-нибудь, пожалуйста, предоставит несколько примеров того, как преобразовать HttpPostedFileBase fileUpload в байтовый массив и обратно, чтобы впоследствии я мог сохранить его в файле на сервере?

1 Ответ

0 голосов
/ 19 марта 2019

Нашли решение этой проблемы;преобразовать файл в Base64, сохранить его в переменной сеанса, а при отправке формы извлечь его из сеанса:

//convert to Base64
System.IO.Stream fileStream = model.PersonPhotoFile.InputStream;
Byte[] fileToByte = new Byte[model.PersonPhotoFile.ContentLength];
model.PersonPhotoFile.InputStream.Position = 0;
model.PersonPhotoFile.InputStream.Read(fileToByte, 0, model.PersonPhotoFile.ContentLength);
string base64stringPhoto = Convert.ToBase64String(fileToByte);
fileStream.Close();

//convert from Base64 and write to file
Byte[] fileFromBytes = Convert.FromBase64String(base64stringPhoto);
System.IO.File.WriteAllBytes("D:\\Temp\\temp_from_base64.jpg", fileFromBytes);
...