2016-08-09 15 views
1

STM32에서 작업 중입니다. STM32를 기반으로 웹 서버를 구축하려고합니다. 먼저, SPI 플래시에 파일 시스템을 구현하고 LWIP 라이브러리를 사용하여 브라우저에 파일 시스템을 작성합니다. "src"가없는 html 파일로 모든 것이 잘 작동합니다. 이제 웹 페이지에 이미지를 추가하고 싶습니다. 즉, 내 SPI 플래시에도 이미지가 있어야 함을 의미합니다. 나는 그것을 저장하기 전에 내가 먼저 이미지를 포맷해야한다고 생각하니? 그리고 그것이 SPI 플래시에 저장되어 있다면. 어떻게 html 이미지를 사용합니까? 누구나 그것에 대해 생각해 봤어?STM32 웹 서버 - "SPI Flash"의 html 파일이 플래시의 "이미지"를 읽는 방법

if ((buflen >=5) && (strncmp(buf, "GET /", 5) == 0)) 

    { 

     FileNodeId = Find_File_Node(WEBPAGE); 
     if(Load_File_Table() != VAT_SUCCESS) return VAT_UNKNOWN; 
     else{ 
      for(int i = 1;i <= File_Table[FileNodeId].numSector;i++){ 

       READSector(WEBPAGE,&webbuf[0],i); 
       int html_length=strlen(&webbuf[0]); 
       netconn_write(conn,&webbuf[0], html_length, NETCONN_COPY); 
       memset(&webbuf[0],0,4080); 

      } 
     } 
     netbuf_delete(inbuf); 


    } 

이렇게하면 LWIP Lib을 사용하여 웹 페이지에 HTML 페이지를 작성합니다. 그리고 html은 링크 된 플래시 파일 시스템에 저장됩니다.

답변

0

특별한 것은 없습니다.

브라우저가 HTML 페이지를로드 할 때 개체의 전체 트리를 구문 분석합니다. 이미지의 대상은 이미지를 표시하는 URL과 함께 표시됩니다.

<img src="url_path/image_name.png"/> 

그러면 브라우저가 개별 이미지를 개별 요청으로로드합니다. 따라서 서버는 이미지 경로가있는 요청을 하나씩 가져오고 추가 형식없이 이미지로 올바른 http 패키지를 반환해야합니다.

image_media_type
Content-Length: image_len_in_bytes 
Content-Type: image_media_type 

image/gif, image/png, image/jpeg, image/bmp, image/x-icon 할 수 있습니다 또는 당신이 사용하는 경우 다른 수 있습니다 : 당신이 이미지를 반환으로, 패키지는 해당 헤더 컨텐츠해야합니다.

이미지를 보낼 수있는 충분한 코드가 있으므로 콘텐츠 유형 만 변경하십시오.