我有一个 geotiff 文件,它在被选中后被转换为 base64string。然后将编码文件上传到 ASP.NET Web 服务,然后解码并以 .tiff 扩展名保存。问题是文件中的元数据与原始文件相比有很大的改变。
JavaScript
var fr = new FileReader();
fr.onloadend = function () {
var base64string = fr.result;
var imgStr = base64string.split("base64,")[1];
App.instance.client.area.uploadMap(imgStr);
};
fr.readAsDataURL(value.rawFile);
C#/ASP.NET Web API:
byte[] imageBytes = Convert.FromBase64String(mapImage);
MemoryStream ms = new MemoryStream(imageBytes);
Image img = Image.FromStream(ms);
然后我用 GDAL 库提取元数据上传的图像。图像看起来不错,但文件中包含的元数据完全不同。角坐标不再准确,并且新文件中有色表信息,而这些信息在原始文件中不存在。
有没有办法处理这种转换,以免字节被改变?