Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/url/2.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 将字节inputstream转换为base64 XPages脚本块_Javascript_Base64_Byte_Xpages - Fatal编程技术网

Javascript 将字节inputstream转换为base64 XPages脚本块

Javascript 将字节inputstream转换为base64 XPages脚本块,javascript,base64,byte,xpages,Javascript,Base64,Byte,Xpages,请告诉我该怎么处理这段代码,我要把一个字节的数据转换成base64字符串。下面的代码仅将图像文件转换为inputstream,我不知道如何将其转换为base64 var MyView:NotesView = database.getView("uploadforms"); var uploadPhoto:NotesDocumentCollection = MyView.getAllDocumentsByKey("uploadphoto"); var input:java.io.InputStre

请告诉我该怎么处理这段代码,我要把一个字节的数据转换成base64字符串。下面的代码仅将图像文件转换为inputstream,我不知道如何将其转换为base64

var MyView:NotesView = database.getView("uploadforms");
var uploadPhoto:NotesDocumentCollection = MyView.getAllDocumentsByKey("uploadphoto");
var input:java.io.InputStream = uploadPhoto.getFirstDocument().getAttachment("photo").getInputStream();

var data = -1;
var myArray = new Array();

while ((data = input.read()) != -1) {

}
您可以使用sun.misc.BASE64Encoder类来执行以下操作:

var MyView:NotesView = database.getView("uploadforms");
var uploadPhoto:NotesDocumentCollection = MyView.getAllDocumentsByKey("uploadphoto");
var input:java.io.InputStream = uploadPhoto.getFirstDocument().getAttachment("photo").getInputStream();

var base64Enc = new sun.misc.BASE64Encoder();
var output = new java.io.ByteArrayOutputStream();
base64Enc.encode( input, output );
output.toString()
编辑:
如评论中所述,最好使用com.ibm.misc.BASE64Encoder。

非常感谢您Sven先生,这段代码将读取Lotus notes数据库中的所有图像吗?嗨,Sven,我想测试您给出的代码。我想在我的网页上显示特定的base64。我该怎么做?打开Domino Designer,按F1。请注意,此类不受支持,不应在生产代码中使用。请使用apache中的其他库commons@jjtbsomhorst:你是说Base64编码器?幸运的是,您可以在XPages中使用其他一些内置到Domino的组件:com.ibm.misc.BASE64Encoder、javax.xml.bind.DatatypeConverter、com.ibm.commons.util.io.base64.base64。因此,无需添加apachecommons。