Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/apache-kafka/3.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
从URL获取文件名,但在JavaScript中不包含该文件名_Javascript_String_Cordova_Download - Fatal编程技术网

从URL获取文件名,但在JavaScript中不包含该文件名

从URL获取文件名,但在JavaScript中不包含该文件名,javascript,string,cordova,download,Javascript,String,Cordova,Download,如何从中给定的URL获取文件名 在JavaScript中,我使用了如下内容: var uri = encodeURI("http://www.openerpspain.com/descargas-documentacion?download=2"); 我的应用程序下载文件,但我必须手动设置文件名。举例来说,当我打电话时 onclick="descarga('http://www.openerpspain.com/descargas-documentacion?download=2')" 此功

如何从中给定的
URL
获取文件名

在JavaScript中,我使用了如下内容:

var uri = encodeURI("http://www.openerpspain.com/descargas-documentacion?download=2");
我的应用程序下载文件,但我必须手动设置文件名。举例来说,当我打电话时

onclick="descarga('http://www.openerpspain.com/descargas-documentacion?download=2')"
此功能在以下情况下运行:

function descarga(URL){
    var rutaarchivo = "file:///sdcard/data/com.protocolo/test1.pdf";
    alert(rutaarchivo);
    var filetransfer = new FileTransfer();
    filetransfer.download(URL, rutaarchivo,
        function(entry){
          alert("Download complete : " + entry.fullPath);
        },function(error) {
          alert("download error source " + error.source);
        });
}
这会将下载保存到
。/com.protocolo
,其文件名为
test.pdf
。我希望能够将其保存为服务器上设置的名称(*manual_openerp.230209.pdf*),位于真实的URL*…//www.openerpspani.com/descargas/manual_openerp.230209.pdf*)

我该怎么做

String fileName = url.substring(url.lastIndexOf('/') + 1);
其中
url
是文件的完整路径

其中
url
是文件的完整路径。

使用:

url="file:///sdcard/data/com.protocolo/test1.pdf?getVar=value";
url.replace(/\?.*$/,"").replace(/.*\//,"");
使用:

这基本上是在问。在这里,解决方案是:

var filename = url.replace(/^.*[\\\/]/, '');
这基本上是在问。在这里,解决方案是:

var filename = url.replace(/^.*[\\\/]/, '');

我添加了我的URL参数。然后,我用了:

从以下位置调用:

var filename = getParameterByName ("nombrefichero", url);
因此,我可以通过以下方式获得example.pdf:

http://www.download.com/fake/example.pdf?nombrefichero=example.pdf

然后我可以下载它,并将它保存在我想要的地方。

我在我的URL参数中添加了。然后,我用了:

从以下位置调用:

var filename = getParameterByName ("nombrefichero", url);
因此,我可以通过以下方式获得example.pdf:

http://www.download.com/fake/example.pdf?nombrefichero=example.pdf

然后我可以下载它,并保存在我想要的地方。

谢谢,但是如果URL在“/”之后没有文件名。是否可以获取文件名?如果没有,我会用这个,谢谢。可能所有的url在“/”之后都有文件名或其他东西,我现在就用它:)谢谢,但是如果url在“/”之后没有文件名。是否可以获取文件名?如果没有,我会用这个,谢谢。可能所有的url在“/”谢谢:”之后都有文件名或其他内容,我现在就用:)