Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/385.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 如何从Jaggery中的URL创建文件(.apk)?_Javascript_Wso2_Wso2 Emm_Jaggery Js - Fatal编程技术网

Javascript 如何从Jaggery中的URL创建文件(.apk)?

Javascript 如何从Jaggery中的URL创建文件(.apk)?,javascript,wso2,wso2-emm,jaggery-js,Javascript,Wso2,Wso2 Emm,Jaggery Js,我有应用程序商店,应用程序有它们的url。我想从这些URL下载APK到我的jaggery服务器。虽然下面的代码(我的第一个解决方案)成功创建了myApp.apk,但它不能正常工作 首先我试着在下面的代码中 var url = "http://img.xxx.com/006/someApp.apk"; var data = get(url, {}); var file = new File("myApp.apk"); file.open("w"); file.write

我有应用程序商店,应用程序有它们的url。我想从这些URL下载APK到我的jaggery服务器。虽然下面的代码(我的第一个解决方案)成功创建了myApp.apk,但它不能正常工作

首先我试着在下面的代码中

var url  = "http://img.xxx.com/006/someApp.apk";
var data = get(url, {});    

var file = new File("myApp.apk");
    file.open("w");
    file.write(data.data);
    file.close(); 

当我打印data.data值时,它看起来像



我也试过,

var file = new File("http://img.xxx.com/006/someApp.apk");
file.saveAs("myApp.txt");

有人能帮我吗?

.apk
文件是Android应用程序文件,它们应该以
PK
开头,因为它们实际上是zip档案

它们并不意味着要被解压缩,尽管你可以这样做来查看一些应用程序资源(但是有更好的方法来反向工程
.apk
文件,例如,如果你正在寻找的话)。

根据jaggery的说法,file.write就是将对象的字符串表示形式写入文件。这就是为什么你会得到一个无法安装的apk文件

但是,您可以在ApacheCommons io java库中使用它,如下所示,因为jaggery支持java本身,并且所有WSO2产品的类路径中都有ApacheCommons io库

<%
    var JFileUtils = Packages.org.apache.commons.io.FileUtils;
    var JUrl = Packages.java.net.URL;
    var JFile = Packages.java.io.File;
    var url  = new JUrl("http://img.xxx.com/006/someApp.apk");
    JFileUtils.copyURLToFile(url, new JFile("myApp.apk"));
    print("done");
%>


默认情况下,您的文件将存储在$CARBON_主目录中,除非您指定了文件的相对或绝对路径。

Hmm。。。以“PK”开头的数据流。你试过解压吗?没有。我没有试过解压。我很抱歉,但我不明白为什么我应该解压它???@user3306495-因为PK是一个.zip文件的签名。由于它们是二进制的(包含不可打印的字符),因此比尝试打印内容更好的成功测试是尝试使用zip程序打开结果。PK->Phil Katz是.zip格式的共同创建者之一。他的首字母出现在所有这些文件的开头。您还应该知道,用于操作zip文件的最古老的文件之一是PKZip,PKWareUnzip解决方案对我不起作用。。首先我将文件保存为.apk和.zip,然后我尝试解压这两个文件,但是我得到了“未找到中心目录”错误。。除了解压文件,还有其他解决方案吗??顺便说一句,谢谢你的PK信息:)事实上,问题是关于用给定的url下载一些东西。它可以是jpg、json、xml或apk,无论类型如何。当您在下面的代码“成功创建myApp.apk”中编写时,可以理解该文件已成功创建,但其内容并非您所期望的,特别是因为您回复了有关解压缩其内容的注释。如果您的问题纯粹是关于从URL下载数据并将其保存到文件,那么您可能希望重新表述您的问题,而不关注文件扩展名和实际数据。