[英]BusyBox file upload [POST] with bash script
我有一台設備運行的受限版本的busybox具有hdmi輸出。 我需要上傳圖片,以便在設備啟動時用作啟動屏幕。 制造商提供了一種tftp方法來執行此操作,但實際上並沒有用,他們不願意提供幫助。
我可以通過telnet訪問該設備。 沒有文本編輯器,因此我正在創建如下腳本:
回聲“#!/ bin / bash
(
同時讀取-d''行; 做
printf'%s \\ n'\\“ \\ $ line \\”
完成
)> /www/images/test.gif
回聲“狀態:204無內容”
回聲
esac”> file.cgi
該腳本是https://codereview.stackexchange.com/a/79626的修改版本
該設備已經有一個運行中的http服務器,並且能夠將文件成功發布到腳本中。 文本文件(txt,html)正確上傳,我可以通過設備的Web界面查看它們。
但是,對於圖像不能說相同的話。 上傳完成,我可以查看文件的內容(cat image
生成* PNG [binary output] *)。 文件大小正確或接近預期大小。 在網絡瀏覽器中調出文件時,Chrome會顯示一個損壞的圖像,告訴我Resource interpreted as Document but transferred with MIME type image/png: "http://169.254.3.163/test.png".
我是Linux的常規用戶,但是這種類型的交互是我的弱點,因此,我們將不勝感激。
您要做的就是從stdin中讀取,並假設您可以寫入/www/images
,這是cgi腳本:
#! /bin/sh
cat - > /www/images/test.gif
echo "
OK"
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.