目前我正在使用以下方法,它提供文件的详细信息,但不是实际的对象,它似乎是我们从
javascript / jQuery中得到的.有没有人知道如何使用cordova和javascript从移动ios / android文件系统从文件URI /本机URI获取文件对象?
以下是我目前使用的代码段..
window.resolveLocalFileSystemURL( filepath,function(fileEntry) { fileEntry.file( function(file) { var reader = new FileReader(); reader.onloadend = function() { var imgBlob = new Blob([this.result],{type: "image/jpeg"}); var uploadedFile = imgBlob; uploadedFile.name = file.name; alert("Importing Asset from Camera.. " + uploadedFile.name); alert(uploadedFile.type); alert(uploadedFile.size); importAsset(uploadedFile); }; reader.readAsArrayBuffer(file); },function(error) { alert("Error in fileEntry.file():" + error) }) },function(error) { alert("Error in window.resolveLocalFileSystemURL():" + error) } );
注意:FileTransfer.upload()在我的情况下不起作用.
在从#SO获得现有Q& A之后从Append image file to form data – Cordova/Angular开始使用之后我正在使用的片段
解决方法
正如我所尝试的,Base64图像上传将在iOS / Android中运行:
至于iOS只有一种显示图像的方法是使用base64格式.你可以使用cordova-camera-plugin来生成base64图像并加上HTML的img标签.我已经设置了标志来获取jpeg中的数据,base64 in相机插件.
至于iOS只有一种显示图像的方法是使用base64格式.你可以使用cordova-camera-plugin来生成base64图像并加上HTML的img标签.我已经设置了标志来获取jpeg中的数据,base64 in相机插件.
<img id="cardImg">
将base64图像存储在javascript变量中:
var imgdata=data:image/jpeg;base64,iVBORw0KGgoAAAANSUhEUgAAAAUAAAAFCAYAAACNbyblAAAAHElEQVQI12P4//8/w38GIAXDIBKE0DHxgljNBAAO9TXL0Y4OHwAAAABJRU5ErkJggg==
然后只需将数据传递给HTML的img标记:
cardImg.src=imgdata;
完成!
原文地址:https://www.jb51.cc/js/156312.html
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。