1
이미지 파일을 전달하고 해당 이미지 파일의 바이트를 검색 할 수 있도록 나중에 바이트를 데이터베이스에 저장할 수있는 메서드를 만들려고합니다. 방법에 대한 내 코드는 다음과 같습니다.HttpPostedFileBase 개체를 바이트 배열로 변환 할 수 없습니다.
private byte[] GetImageBytes(HttpPostedFileBase ProfilePhoto)
{
if (ProfilePhoto != null)
{
using (MemoryStream ms = new MemoryStream())
{
ProfilePhoto.InputStream.CopyTo(ms);
byte[] array = ms.GetBuffer();
return array;
}
}
else
{
return null;
}
}
문제는 바이트 배열 [0]의 배열을 가져와 바이트로 변환되지 않는다는 것입니다. 디버그 모드에서 나는 아래의 코드와 방법 내부의 코드를 대체하여 다른 방법을 시도 ... 나는 ProfilePhoto가 null가 아닌 것을 알 수 있으며 등 길이 속성이 있습니다 : 다시
byte[] image = new byte[ProfilePhoto.ContentLength];
ProfilePhoto.InputStream
.Read(image, 0, Convert.ToInt32(ProfilePhoto.ContentLength));
return image;
하지만 성공. 배열 0x0000 ...을 반환하며 이는 기본값입니다. 이 문제를 해결하는 방법을 알려주세요. 아마 그것은 매우 간단하지만
MVC
에 파일을 업로드하는 방법에 대한 지식이 없습니다. 나는 다른 방법을 찾지 만 그 중 누구도 일하지 않았습니다.
감사합니다 사람이 내 문제를 해결했다. 등가에서는 두 번째 방법으로 문제를 발견했습니다. 나는'ProfilePhoto.InputStream.Position = 0;'을해야만했다. 그리고 다 잘 작동했다. –
예. 그것도 작동합니다. –