[英]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.