我可以使用此代码和krajee Bootstrap FileInput插件将图像上传到服务器,但是当我尝试将其可视化时,只有.png显示图像。
-------------------------代码--------------------- ----
var currentFolder = ds.getDataFolder().path+"tmp."+extension;
var buffer2 = new Buffer(base64Texto,'base64');
var vBlob2 = buffer2.toBlob();
debugger;
vBlob2.copyTo(currentFolder,"OverWrite")
var imagen = loadImage(currentFolder);
archivo.Previsualizacion = imagen;
archivo.save();
编辑:
问题在于,当我将图像(.jpg或.pdf)存储在数据库的图像字段中时,预览为空白,但是Blob中的文件创建得很好。使用.png它可以很好地工作。
var bufferFrom64 = new Buffer(base64Texto,'base64');
var vBlob2 = bufferFrom64.toBlob(mimeType);
vBlob2.copyTo(currentFolder,"OverWrite")
var imagen = loadImage(currentFolder);
archivo.Previsualizacion = imagen;
archivo.Documento = vBlob2;
archivo.save();
答案 0 :(得分:0)
简而言之,Wakanda buffer.toBlob()与图像类型不一致,特别是.jpg或.pdf。 .png图像具有不同的实现,并将与toBlob()一起使用。
这是我用来解码用base64编码的图像的代码:
var currentFolder = ds.getDataFolder().path+"tmp."+extension;
var bufferFrom64 = new Buffer(base64Texto, "base64");
var outputFile = File(currentFolder);
if(!outputFile.exists)outputFile.create();
var writestream = BinaryStream(outputFile, "Write");
writestream.putBuffer(bufferFrom64);
writestream.flush();
writestream.close();
希望它有所帮助。