2016-08-09 21 views
1

我正在使用STM32。我試圖建立一個基於STM32的Web服務器。首先,我在SPI閃存上實現一個文件系統,並使用LWIP庫將其寫入瀏覽器。一切工作正常與沒有任何「src」的HTML文件。現在我想在網頁上添加圖像,這意味着我需要在我的SPI閃存上有圖像。我想我應該在存儲之前先格式化圖像?如果它存儲在SPI閃存中。 html如何使用圖像?有人有想法嗎?STM32 Web服務器 - 「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頁面寫入Web瀏覽器。而html存儲在鏈接列表的Flash文件系統中。

回答

0

沒什麼特別的。

當瀏覽器加載html頁面時,它會解析整個對象樹。圖像的對象以url形式呈現。

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

然後瀏覽器在分離請求中加載每個圖像。因此,您的服務器將爲每個服務器獲取帶有圖像路徑的請求,並且必須返回帶有圖像的正確http包,而無需任何其他格式當你回的圖像,你的包必須相應內容標題:

Content-Length: image_len_in_bytes 
Content-Type: image_media_type 

image_media_type可以image/gifimage/pngimage/jpegimage/bmpimage/x-icon或者可能是另一個,如果你會使用。

所以你有足夠的代碼發送任何圖像,只是改變內容類型。

相關問題