Javascript 将字节inputstream转换为base64 XPages脚本块
请告诉我该怎么处理这段代码,我要把一个字节的数据转换成base64字符串。下面的代码仅将图像文件转换为inputstream,我不知道如何将其转换为base64Javascript 将字节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
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。