【发布时间】:2017-05-11 01:22:47
【问题描述】:
我有一台运行限制版本的busybox 的设备,该版本具有hdmi 输出。我需要上传一张图片,在设备启动时用作启动画面。制造商提供了一个 tftp 方法来做到这一点,但它并没有真正起作用,而且他们不太热心提供帮助。
我有什么
我可以通过 Telnet 访问该设备。没有文本编辑器,所以我正在创建这样的脚本:
echo "#!/bin/bash
(
同时读取 -d '' 行;做
printf '%s\n' \"\$line\"
完成
) > /www/images/test.gif
echo '状态:204 无内容'
回声;;
esac" > 文件.cgi
脚本是https://codereview.stackexchange.com/a/79626的修改版
设备已经有一个 http 服务器在运行,我可以成功地向脚本 POST 一个文件。文本文件(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 用户,但这种类型的交互是我的弱点,所以任何帮助将不胜感激。
【问题讨论】:
-
你有
ftpget用于文件传输 -
虽然我可以这样做,但它需要使用 ftp 服务器,我希望避免额外的依赖。我正在使用我编写的外部控制程序来控制设备,除非没有其他选项,否则我宁愿不必强制应用程序充当 ftp 服务器。