Html 当对本地文件使用XMLHttpRequest时,CORS是否有解决方法?
我想使用从本地文件读取JPEG EXIF标记。但是,javascript库使用XMLHttpRequest将JPG文件作为二进制文件读取: 当我使用时,我得到一个HTML5文件对象,我可以使用FileReader读取该对象,但我不知道如何将其转换为二进制文件: 但我也在使用AppGyver类固醇PhoneGap,它从http://localhost/index.html,当我尝试使用Exif.js时,会出现以下CORS错误: XMLHttpRequest无法加载数据:图像/jpeg;base64,/9j/4x2CrxHPZGAASUKQAAAAAAAAAA8BAGAKAAAATGAABAGAABAGAI…N6gn14dm6BmJyMdYaMhX16hI+HgIWLj5aWkJOaiHF7hoV+DNBWC3JZBM14GHLZCIAWLXFEU3OB。收到无效的响应。起源'http://localhost:4000因此,不允许访问Html 当对本地文件使用XMLHttpRequest时,CORS是否有解决方法?,html,cors,html5-filesystem,xmlhttprequest-level2,Html,Cors,Html5 Filesystem,Xmlhttprequest Level2,我想使用从本地文件读取JPEG EXIF标记。但是,javascript库使用XMLHttpRequest将JPG文件作为二进制文件读取: 当我使用时,我得到一个HTML5文件对象,我可以使用FileReader读取该对象,但我不知道如何将其转换为二进制文件: 但我也在使用AppGyver类固醇PhoneGap,它从http://localhost/index.html,当我尝试使用Exif.js时,会出现以下CORS错误: XMLHttpRequest无法加载数据:图像/jpeg;base64
有没有办法将XmlHttpRequest配置为在没有CORS错误的情况下为本地文件对象提供服务?错误消息是否指示哪行代码失败?是readAsDataURL还是其他内容?不是,该错误与FileReader.readAsDataURL无关。错误来自XMLHttpRequest。我试图找到一种使用FileReader的解决方法—某种从FileReader获取二进制文件的方法,但这些API并不重叠。还有别的办法吗?
function getImageData(oImg, fncCallback)
{
BinaryAjax(
oImg.src,
function(oHTTP) {
var oEXIF = findEXIFinJPEG(oHTTP.binaryResponse);
oImg.exifdata = oEXIF || {};
if (fncCallback) fncCallback();
}
)
}
_initHTML5FileReader = function() {
var chooseFile;
chooseFile = document.getElementById("html5-get-file");
chooseFile.onchange = function(e) {
var file;
file = e.currentTarget.files[0];
var reader;
reader = new FileReader();
reader.onloadend = function(ev) {
var dataUrl = ev.target.result;
// How do I change this to a BinaryFile???
};
reader.readAsDataURL(file);
return false;
};
};