gpt4 book ai didi

javascript - 将二进制字符串写入图像文件

转载 作者:太空宇宙 更新时间:2023-11-04 03:09:00 25 4
gpt4 key购买 nike

在 php 中我们可以使用这个将二进制字符串写入图像文件

$binary = hex2bin($hex);
file_put_contents("myphoto.png", $binary);

它使用 file_put_contents 将其写入磁盘:

在node.js中我们如何实现像file_put_contents这样的功能。 ?

编辑:我按照评论的建议尝试了这个,但它给了我一个错误

 var binarydata = fs.readFileSync('mybin.txt',{flag:'w'});

fs.writeFileSync( 'myphoto.png', binarydata );


Error: EPERM, operation not permitted
at Error (native)
at Object.fs.readSync (fs.js:552:19)
at Object.fs.readFileSync (fs.js:389:28)

提前谢谢您。

最佳答案

这应该适合你:

var fs = require( 'fs' );
var wstream = fs.createWriteStream( 'myphoto.jpg' );
wstream.write( $binary );
wstream.end();

这里是node.js fs-module的文档:https://nodejs.org/api/fs.html

如果你想在使用完毕后做某事

fs.writeFileSync( 'myphoto.png', $binary );

或者异步执行:

var fs = require('fs');
var wstream = fs.createWriteStream('myphoto.jpg');
wstream.on( 'finish', function() {
// do something
});
wstream.write( $binary );
wstream.end();

读取文件并写入另一个文件:

var fs = require('fs');
fs.readFile( 'temp.txt', function( err, data ) {
if (err) throw err;

var wstream = fs.createWriteStream( 'myphoto.jpg' );
wstream.on( 'finish', function() {
// do something
});
wstream.write( data );
wstream.end();
});

编辑:我的代码一直有效,它只需是“myphoto.jpg”而不是“myphoto.png”;)所以解决方案不是这样做,你只需重命名文件即可:

var fs = require('fs');
fs.renameSync( 'temp.txt', 'myphoto.jpg' );

或者如果您需要 temp.txt,请像这样复制它:

var fs = require('fs');
fs.createReadStream( 'temp.txt' ).pipe( fs.createWriteStream( 'myphoto.jpg' ) );

关于javascript - 将二进制字符串写入图像文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30036968/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com