Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/392.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 从映像中剥离EXIF数据(节点js,解决原始版本中可能存在的错误)_Javascript_Exif - Fatal编程技术网

Javascript 从映像中剥离EXIF数据(节点js,解决原始版本中可能存在的错误)

Javascript 从映像中剥离EXIF数据(节点js,解决原始版本中可能存在的错误),javascript,exif,Javascript,Exif,这是以下内容的服务器端版本: 尽管主逻辑应该保持不变(跟踪消息和数据结构更改除外),但它不能多次处理文件 所以我怀疑这个bug存在于原始版本中,但是原始的fiddle让文件在未经处理的情况下第二次通过 /exifrm.js 测试如下。将上述代码另存为exifrm.js,然后运行: wget http://www.suodenjoki.dk/images/news/2008/water.jpg node > var f1, f2 > var exif = require('./e

这是以下内容的服务器端版本:

尽管主逻辑应该保持不变(跟踪消息和数据结构更改除外),但它不能多次处理文件

所以我怀疑这个bug存在于原始版本中,但是原始的fiddle让文件在未经处理的情况下第二次通过

/exifrm.js

测试如下。将上述代码另存为
exifrm.js
,然后运行:

wget http://www.suodenjoki.dk/images/news/2008/water.jpg

node
> var f1, f2
> var exif = require('./exifrm.js')

> f1 = exif.remove(fs.readFileSync('./water.jpg'))
dv.getUint16(offset) == 0xffd8 true
offset < dv.byteLength true
app1 == 0xffe1 true
app1 == 0xffe1 true
app1 == 0xffda true
pieces.length > 0 true
<Buffer ff d8 ff e0 00 10 4a 46 49 46 00 01 02 01 00 f0 00 f0 00 00 ff ed 21 82 50 68 6f 74 6f 73 68 6f 70 20 33 2e 30 00 38 42 49 4d 04 04 00 00 00 00 00 35 ... >

> f2 = exif.remove(f1)
dv.getUint16(offset) == 0xffd8 true
offset < dv.byteLength true
app1 == 0xffda true
pieces.length > 0 false
undefined
wgethttp://www.suodenjoki.dk/images/news/2008/water.jpg
节点
>变量f1,f2
>var exif=require('./exifrm.js')
>f1=exif.remove(fs.readFileSync('./water.jpg'))
dv.getUint16(偏移量)=0xffd8真值
偏移量0真
>f2=退出。移除(f1)
dv.getUint16(偏移量)=0xffd8真值
偏移量0的工件为假
未定义

预期的输出是f2.length==57817

这里有什么问题吗?
wget http://www.suodenjoki.dk/images/news/2008/water.jpg

node
> var f1, f2
> var exif = require('./exifrm.js')

> f1 = exif.remove(fs.readFileSync('./water.jpg'))
dv.getUint16(offset) == 0xffd8 true
offset < dv.byteLength true
app1 == 0xffe1 true
app1 == 0xffe1 true
app1 == 0xffda true
pieces.length > 0 true
<Buffer ff d8 ff e0 00 10 4a 46 49 46 00 01 02 01 00 f0 00 f0 00 00 ff ed 21 82 50 68 6f 74 6f 73 68 6f 70 20 33 2e 30 00 38 42 49 4d 04 04 00 00 00 00 00 35 ... >

> f2 = exif.remove(f1)
dv.getUint16(offset) == 0xffd8 true
offset < dv.byteLength true
app1 == 0xffda true
pieces.length > 0 false
undefined