2017-12-06 20 views
0

그물 코드로 변환하지 못했고 문자열을 이진 형식으로 삽입하려고 할 때이 문제에 직면하고 있습니다. 여기문자열에서 매개 변수 값을 Byte []

function readURL(input) { 
if (input.files && input.files[0]) { 
     var reader = new FileReader(); 
     reader.onload = function (e) { 
      $('#DecalLogo').attr('src', e.target.result); 
      $('#hdImageName').val(e.target.result); 
     } 
     reader.readAsDataURL(input.files[0]); 
    } 
} 

로 데칼에 문자열 값입니다

cmd.Parameters.Add(new SqlParameter("@DecalLogoFileName", SqlDbType.Binary)).Value=decal.DecalLogoFileName; 

decal.DecalLogoFileName="data:image/jpeg;base64,/9j/4AAQSkZJRgABAQAAAQABAAD/2wCEAAkGBxITEhUTExIWFhUXGB8aGBcYGR0ZHxobGhoXHRcYGBkaHyghHRolHRcXIjEhJSkrLi4uGB8zODMtNygtLisBCgoKDg0OGhAQGy0lHyUtLS0tLS0tLS0tLS0tLy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSstLS0tLS0tLS0tLf/AABEIALcBEwMBIgACEQEDEQH/xAAbAAACAwEBAQAAAAAAAAAAAAAEBQIDBgABB//EAEgQAAIBAgQDBQQHBQYDCAMAAAECEQADBBIhMQVBUQYTImFxMoGRoSNCUrHB0fAUcpLS4QczU2KCshVUc0Njg5OiwuLxFiRk/8QAGQEAAwEBAQAAAAAAAAAAAAAAAQIDAAQF/8QALBEAAgICAgECBQQCAwAAAAAAAAECERIhAzFBE2EiMlFxgUKhsdEEkSMzUv/aAAwDAQACEQMRAD8A" 

으로 내가 노력하고 때

나는 decal.DecalLogoFileName에서 이미지의 바이너리 형식을 가지고 decal.DecalLogoFileName 그래서 문자열을 정의하다 hdImageName 값이 데칼에 저장됩니다. 데칼 로그 파일 이름

나는 또한 시도했습니다.

cmd.Parameters.Add(new SqlParameter("@DecalLogoFileName", SqlDbType.Binary)).Value=Convert.toByte(decal.DecalLogoFileName); 

하지만 전환 문제가 있습니다.

DecalLogoFileName의 열 데이터 유형이 VARBINARY로서 설정된다 (MAX)

답변

0

이렇게 시도;

var byteArray = Encoding.ASCII.GetBytes(decal.DecalLogoFileName); 
cmd.Parameters.Add(new SqlParameter("@DecalLogoFileName", SqlDbType.VarBinary, byteArray.Length)).Value=byteArray; 

Encoding.ASCII.GetString(byteArray)를 사용하여 base64로 문자열로 변환 할 수 있습니다, 데이터베이스에서 이미지를 검색 할 수 있습니다. 그런 다음 img src에 이미지를 넣을 수 있습니다.

 <img src="data:image/jpeg;base64,/9j/4AAQSkZJRgABAQAAAQABAAD/2wCEAAkGBxITEhUTExIWFhUXGB8aGBcYGR0ZHxobGhoXHRcYGBkaHyghHRolHRcXIjEhJSkrLi4uGB8zODMtNygtLisBCgoKDg0OGhAQGy0lHyUtLS0tLS0tLS0tLS0tLy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSstLS0tLS0tLS0tLf/AABEIALcBEwMBIgACEQEDEQH/xAAbAAACAwEBAQAAAAAAAAAAAAAEBQIDBgABB//EAEgQAAIBAgQDBQQHBQYDCAMAAAECEQADBBIhMQVBUQYTImFxMoGRoSNCUrHB0fAUcpLS4QczU2KCshVUc0Njg5OiwuLxFiRk/8QAGQEAAwEBAQAAAAAAAAAAAAAAAQIDAAQF/8QALBEAAgICAgECBQQCAwAAAAAAAAECERIhAzFBE2EiMlFxgUKhsdEEkSMzUv/aAAwDAQACEQMRAD8A" 
     alt="SampleImage" /> 
+0

decal.DecalLogoFileName의 인코딩 형식이 맞습니까? – Xtremcool

+0

업데이트 된 질문을 검토하십시오. – Xtremcool

+0

상관 없어요. 테이블에 바이너리 형식을 저장하려면 base64string을 바이트 배열로 변환해야합니다. 이미지를 검색 할 때 바이너리를 base64string으로 변환해야합니다. – lucky