반응형
HttpPostedFile에서 바이트 배열을 만드는 방법
FromBinary 메서드가있는 이미지 구성 요소를 사용하고 있습니다. 입력 스트림을 바이트 배열로 어떻게 변환합니까?
HttpPostedFile file = context.Request.Files[0];
byte[] buffer = new byte[file.ContentLength];
file.InputStream.Read(buffer, 0, file.ContentLength);
ImageElement image = ImageElement.FromBinary(byteArray);
BinaryReader 객체를 사용하여 다음과 같이 스트림에서 바이트 배열을 반환합니다.
byte[] fileData = null;
using (var binaryReader = new BinaryReader(Request.Files[0].InputStream))
{
fileData = binaryReader.ReadBytes(Request.Files[0].ContentLength);
}
BinaryReader b = new BinaryReader(file.InputStream);
byte[] binData = b.ReadBytes(file.InputStream.Length);
2 행은
byte[] binData = b.ReadBytes(file.ContentLength);
InputStream.Position 파일이 스트림의 끝으로 설정되어 있으면 작동하지 않습니다. 내 추가 라인 :
Stream stream = file.InputStream;
stream.Position = 0;
귀하의 질문에서 buffer와 byteArray는 모두 byte [] 인 것 같습니다. 그래서:
ImageElement image = ImageElement.FromBinary(buffer);
stream.copyto 전에 stream.position을 0으로 재설정해야합니다. 그럼 잘 작동합니다.
Web Pages v2를 사용하는 경우 이미지의 경우 WebImage 클래스를 사용하십시오.
var webImage = new System.Web.Helpers.WebImage(Request.Files[0].InputStream);
byte[] imgByteArray = webImage.GetBytes();
참고 URL : https://stackoverflow.com/questions/359894/how-to-create-byte-array-from-httppostedfile
반응형
'development' 카테고리의 다른 글
Gradle, Android 및 ANDROID_HOME SDK 위치 (0) | 2020.06.14 |
---|---|
X는 Y를 구현하지 않습니다 (… 메소드에는 포인터 수신기가 있습니다) (0) | 2020.06.14 |
모든 커밋을 제거하기 위해 원격 GIT 저장소를 재설정하는 방법은 무엇입니까? (0) | 2020.06.13 |
준비된 명령문은 SQL 주입 공격으로부터 어떻게 보호 할 수 있습니까? (0) | 2020.06.13 |
csv 모듈을 사용하여 csv 파일에서 특정 열을 읽습니까? (0) | 2020.06.13 |