我需要在只接受jpeg图像的服务器上存储XML数据。我想过在有效的jpeg文件中编写我的XML数据。毕竟,除了jpeg标题之外,图像文件的内容是任意数据吗?
是否可以生成有效的jpeg文件,但是其“body”是否填充了自定义字节?
当然,我还需要能够解码自定义jpeg文件并恢复数据。
我不熟悉jpeg文件格式,所以我很欣赏一个明确的例子。
答案 0 :(得分:3)
或许只是将数据附加到一个小的jpeg会起作用吗?
FWIW,您可以使用Hex编辑器轻松查看此内容。只需创建一个小jpeg并将xml追加到最后。然后使用任何图像编辑器打开它。
对于jpeg文件,这是完全有效的事情:
答案 1 :(得分:2)
嗯,这是一个奇怪的架构...但无论如何我认为这篇文章会很有用: How to Add 'Comments' to a JPEG File Using C# 所以提案是将数据添加为jpeg空白图像的元数据。
答案 2 :(得分:0)
如果要将数据添加为实际的jpeg数据,首先要创建一个带有BitmapSource.Create的BitmapSource,并将数据放入buffer参数中。比使用JpegBitmapEncoder将其保存为jpeg文件(例如here)。
但是,据我所知,.Net jpeg编码器不是无损的(即使你将它的质量设置为100%),所以你需要一个可以编码JPEG无损的第三方库。
答案 3 :(得分:0)
我不知道JPEG特定的方式,但有一个PNG / GIF方法来编码任意数据和像素。看看这篇文章。有些网站允许您上传重命名为JPEG的PNG和GIF,以便您可以尝试。 http://blog.nihilogic.dk/2008/05/compression-using-canvas-and-png.html
他正在保存javascript,但你可以使用和发短信。