- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我正在尝试使用 PDFjs 在 Cordova iOS(以及可能更高版本的 Android)中显示 PDF。 PDFjs 似乎需要网络服务器提供的文件才能使用其正常加载功能,但它会接受编码为 Uint8Array 的 PDF。
我曾尝试使用 Cordova 的 FileAPI
,它具有加载到 Uint8Array 的方法来加载可以从 Documents
文件夹加载的 PDF,但我可以告诉 API似乎无法访问 www
中的文件。
PDF 最初需要与应用程序捆绑在一起,如果它们不同步,则需要通过应用程序进行更新,因此我希望能够将它们作为源的一部分,然后将它们复制到文档中可操作/可重写的文件夹。
如何将文件从 www
文件夹复制到 Documents
文件夹?我想这是一个常见的场景,但在网上找不到这样的例子。
感谢任何帮助。
瑞卡德
到目前为止,我已经能够使用文件传输从单独的网络服务器下载文件:
var fileTransfer = new FileTransfer();
fileTransfer.download(
'http://localhost:8080/data/output8.pdf',// This is a webserver I am running
_fileSystem.root.fullPath+'/output8.pdf',
function(entry) {
console.log("download complete: " + entry.fullPath);
},
function(error) {
console.log("download error source " + error.source);
console.log("download error target " + error.target);
console.log("upload error code" + error.code);
}
);
因此,如果我想从远程服务器下载所有 PDF,但我需要从 www
文件夹下载它们,但我似乎找不到执行该操作的路径,那就太好了。我试过:file:///data/output8.pdf
, data/output8.pdf
和 /data/output8.pdf
/p>
引用这些路径的正确方法是什么?
所以几个小时后我仍然停留在这个问题上。我已经正确地获得了 PDFjs 渲染,但仅来 self 从网络服务器提供的文件,然后是 FileTransfer 到本地文件系统,而不是我与应用程序捆绑在一起的文件。我设法使用 XHR 将文件从 www 加载到 ArrayBuffer,但无法保存它。
var xhr = new XMLHttpRequest();
xhr.open('GET','data/output8.pdf',true);
xhr.responseType = 'arraybuffer';
xhr.onload = function(e){
var itWorked=this.status==0&&(this.response instanceof ArrayBuffer);
console.log(itWorked?'looks like it worked':'hmm there was an issue: '+this.status);
var myArrayBuffer = this.response;
theFileSystem.root.getFile('output8.pdf',{create:true},function(entry){
entry.createWriter(function(fileWriter){
fileWriter.onwrite = function(){
console.log('file has been written');
};
// Turns out the following does not work in
// Cordova which cannot write binary to a file.
var blob = new Uint8Array(myArrayBuffer);
fileWriter.write(blob);//Doesnt work
},fail);
},fail);
}
xhr.ontimeout=function(e){
console.log('timeout');
}
xhr.send();
最佳答案
睡了一觉后,我设法解决了问题。解决方案是确定相对绝对路径,然后将路径 URL 编码如下:
var fileTransfer = new FileTransfer();
var relativeFileLocation = 'data/output8.pdf';
var fileSystemFileLocation = '/output8.pdf';
var docsPath = fileSystem.root.fullPath;
var wwwPath = docsPath.substring(0, docsPath.lastIndexOf('/'))+'/testios27.app/www/'
var filePath = wwwPath+relativeFileLocation;
fileTransfer.download(
'file://'+encodeURI(filePath),
theFileSystem.root.fullPath+'/output8.pdf', // Ouput path
onTransferComplete,
fail);
这主要是因为路径可能需要针对不同的平台进行不同的计算。
关于ios - 如何通过 XHR 将 PDF 从 assets/www 文件夹保存到 Cordova 中的文件系统?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16706130/
我正在使用 nginx on Rackspace cloud following a tutorial并且已经搜索了网络,但到目前为止无法对此进行排序。 出于 SEO 和其他原因,我希望 www.my
我到处搜索并尝试了各种 .htaccess 配置,但没有找到答案。 只访问 .htaccess 文件我想: 将 NON www 定向到 NON www SSL示例:http://example.com
下面的 htaccess 命令将所有非 www 转移到 http www RewriteEngine On RewriteCond %{HTTP_HOST} !^www\. RewriteRule ^
我希望重定向所有内容: http:// http://www. https://www. to https:// 这可能已经在这里得到了回答,但是在浏览了看起来相关的问题后,它们都不完全是我想要的,并
我有一个全新的网站,最初是 http://然后我将网站重定向到 http://www它的工作就像一个魅力,但自从我安装了 SSL 我有两个版本的网站 http://www.example.com和 h
我必须将我的网站从 https://www.example.com/ 重定向到 https://website.com/。 SSL 已正确安装在我的服务器上。 我正在使用 Apache 并且必须使用
我有一个 SEO 人员让我很困惑。他提到在 Google 网站管理员工具中,我应该验证网站的 www 版本以及非 www(非 www 已经验证)。所以我告诉他没有必要,因为出于规范原因(如 Matt
-- 请参阅下面的 Tl;dr 以获得简短版本-- 在我的 ubuntu-16.04 droplet apache2 和 php7 上都使用用户 www-data。在某些时候,所有三个 wordpre
Tumblr 的文档 ' Using a custom domain name ' 非常有帮助,它清楚地说明我需要创建一个 A唱片为 example.com指向 66.6.44.4 ,以便我的网站可以
我有一个托管在谷歌云存储桶上的静态网站。 在我的存储桶前面,我有 cloudflare dns。 存储桶是 example.com Cloudflare 设置:CNAME > @ > c.storag
我正在使用以下代码编写 www 到非 www 重定向: RewriteEngine On RewriteBase / RewriteCond %{HTTP_HOST} ^www\.(.*)$ [NC]
我的一个 friend 目前正在修补 JpCap在 Java 中,我们发现了一些关于 Java 正则表达式的有趣(也许?)问题。 只有 HTTP 流量被捕获并随后进行分析。为此,他使用了如下模式: P
我目前在 htaccess 文件中使用以下代码,将我的服务器中托管的网站的所有非 www 网址重定向到 www 网址。 RewriteCond %{HTTP_HOST} !^www\. Rewrite
我有一个 wordpress 网站 www.domain.com,我们刚刚购买了一个 SSL 证书,但它只适用于 domain.com(没有 www)。我配置了 .htaccess 和站点 url R
我的 Apache 服务器上的虚拟主机中有以下内容, Redirect permanent / https://domain.com Options
我正在尝试将所有流量从 HTTP 站点重定向到 HTTPS 站点,并将所有 www 流量重定向到非 www 站点。我的设置包括 HTTP 站点的 nginx.conf 文件,我已将 301 重定向规则
关闭。这个问题是off-topic .它目前不接受答案。 想改进这个问题吗? Update the question所以它是on-topic用于堆栈溢出。 关闭 12 年前。 Improve thi
我有一个域说 http://www.testexample.com .当我登录 http://www.testexample.com然后回到http://testexample.com在浏览器中;登录
我正在为我的 Web 应用程序使用 EC2 实例。我买了一个新的 SSL 并将其安装在 AWS 经典负载均衡器上,我的 SSL 工作正常。但从 SEO 的角度来看,我想将所有请求从 www 和非 ww
这是否受跨源策略限制? 最佳答案 你不能。您只能向 www.foo.com 发送请求。 关于javascript - 在页面 'www.foo.com' 上,从 'www.example.com' 加
我是一名优秀的程序员,十分优秀!