PTT
Submit
Submit
选择语言
正體中文
简体中文
PTT
C_and_CPP
[问题] 如何知道刚写入的jpg档有无毁损
楼主:
hn12404988
(Willy)
2016-06-08 17:01:56
开发平台(Platform): GCC, Linux
额外使用到的函数库(Library Used): 无
问题(Question):服务器端接到装置端传回一组base64字串
decode完,用ofstream::open开了一个新的准备写入档案,再用ofstream::write写入
成一个jpg档,但为了防止有心人上传一段假的base64字串,所以写出来的jpg档事实
上不是图片档,读取会corrupt,请问我要如何再原本的main thread里再以c++程式
检测刚写入的档案,是否能读取成功?
喂入的资料(Input):base64字串
预期的正确结果(Expected Output): 能判断图片档写入成功
错误结果(Wrong Output):
程式码(Code):(请善用置底文网页, 记得排版)
补充说明(Supplement):
作者:
MOONRAKER
(㊣牛鹤鳗毛人)
2016-06-08 18:00:00
装imagemagick,用identify看他是图档还是什么挖哥(当然你要用system()执行)
作者:
TobyH4cker
(Toby (我要当好人))
2016-06-08 20:35:00
然后就被黑了XD
作者:
winken2004
(新竹肥宅)
2016-06-08 20:39:00
检查jpg header?
作者: LiloHuang (十年一刻)
2016-06-08 20:42:00
宽松的检查,可看档头 SOI (FF D8) 档尾 EOI (FF D9)
https://goo.gl/70pW4L
如果要严谨一点还是得把整个 JPEG structure 走一次system() 如果是公开服务器得留意 command injection个人认为就是交给 jpeg decoder 来判断就好用好一点的 JPEG library 读资讯 (e.g. libjpeg-turbo)
作者:
Killercat
(杀人猫™)
2016-06-13 07:36:00
基本上JPG格式很松散 只要头两个位元是[255, 216]出来通常就不会corrupt, 顶多图看起来是噪声
继续阅读
Re: C/C++ 语言新手十三诫 -- Ver. 2016
Hazukashiine
C/C++ 语言新手十三诫 -- Ver. 2016
wtchen
[问题] 一维阵列 基础问题请益
death811125
[问题] 新手问#include
Beatles5566
[问题] Windows Driver 请求问题
tsukiyo99
Re: [问题]Float的资料用Char的Buffer传输
chuegou
[问题] 8051 XBPSTACKTOP 设定
clarkman
Re: [问题]Float的资料用Char的Buffer传输
wxtab019
[心得] c++ 11 的 move semantic
descent
[问题] 求给OpenGL初学者的书籍
wawi2
Links
booklink
Contact Us: admin [ a t ] ucptt.com