1
VB.net에서이 기능을 발견했으며 .aspx 페이지에서 사용하고 작동합니다.ASP.net : 이미지 무게, 크기 및 유형에 따라 원격 이미지로드를 제한 할 수 있습니까?
Private Sub LoadImageFromURL(URL As String, ByRef Img As Drawing.Bitmap)
Const BYTESTOREAD As Integer = 10000
Dim myRequest As WebRequest = WebRequest.Create(URL)
Dim myResponse As WebResponse = myRequest.GetResponse()
Dim ReceiveStream As Stream = myResponse.GetResponseStream()
Dim br As New BinaryReader(ReceiveStream)
Dim memstream As New MemoryStream()
Dim bytebuffer As Byte() = New Byte(BYTESTOREAD - 1) {}
Dim BytesRead As Integer = br.Read(bytebuffer, 0, BYTESTOREAD)
While BytesRead > 0
memstream.Write(bytebuffer, 0, BytesRead)
BytesRead = br.Read(bytebuffer, 0, BYTESTOREAD)
End While
Img = New Drawing.Bitmap(memstream)
End Sub
I 원격 imagebased에 로딩 제한하고자하는 바이트 단위
1) 이미지 크기 제한
2) PIC (X)의 최대 치수 Y
3) 허용되는 이미지 유형 (jpg, png)
나는 이미지 조작에 익숙하지 않으므로 가능한 경우 기능을 향상시키고 어떤 종류의 protec을 사용하도록 약간의 도움을 요청합니다. 이미지 URL에 악의적 인 사용을 피하십시오.
편집 : url 및 작품을 검증하기 위해에서 .aspx 페이지에서 내가 함수로 변환
감사
잘못된 유형이거나 길이가 너무 길면 'content-type'및 'content-length' 헤더를 읽고 작업을 중단 할 수 있습니다. –
힌트를 보내 주셔서 감사합니다. 그래서 myResponse.ContentLength와 myResponse.ContentType을 사용하여 값을 읽을 수 있습니다. 나는 결코 이런 식으로 생각하지 않았다. :) – Hart
또한 'myRequest.Method = Net.WebRequestMethods.Http.Head'를 설정하면 다운로드를 시작하지 않고 헤더 정보 만 요청합니다. –