BusyBox文件上传[POST]与bash脚本

时间:2017-05-11 01:22:47

标签: linux bash busybox

我有一台运行限定版busybox的设备,它有一个hdmi输出。我需要上传一张图片,以便在设备启动时用作启动画面。制造商提供了一种tftp方法来做到这一点,但它并没有真正起作用,而且他们对帮助不太热心。

我拥有什么

busybox details

我有telnet访问设备。没有文本编辑器所以我创建这样的脚本:

  

echo"#!/ bin / bash

     

     

读取-d''线做

     

printf'%s \ n' \" \ $线\"

     

完成

     

)> /www/images/test.gif

     回声'状态:204无内容'

     

echo ;;

     

ESAC" > file.cgi

该脚本是https://codereview.stackexchange.com/a/79626

的修改版本

设备已经运行了http服务器,我可以成功地将文件发送到脚本。文本文件(txt,html)正确上传,我可以通过设备网络界面查看它们。

然而,对于图像不能说同样的。上传完成,我可以查看文件的内容(cat image生成* PNG [二进制输出] *)。文件大小正确或接近预期的大小。在网络浏览器中显示文件会产生损坏的图像,Chrome会告诉我Resource interpreted as Document but transferred with MIME type image/png: "http://169.254.3.163/test.png".

我是普通的Linux用户,但这种类型的互动是我的弱点,所以任何帮助都会受到赞赏。

1 个答案:

答案 0 :(得分:2)

您所要做的就是从stdin读取,并假设您可以写入/www/images,这是cgi脚本:

#! /bin/sh

cat - > /www/images/test.gif
echo "

OK"