[英]Get filename from URL without it in JavaScript
如何从PhoneGap中的给定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.openerpspain.com/descargas/manual_openerp.230209。 PDF *。
我怎么做?
String fileName = url.substring(url.lastIndexOf('/') + 1);
其中url
是文件的完整路径。
采用:
url="file:///sdcard/data/com.protocolo/test1.pdf?getVar=value";
url.replace(/\?.*$/,"").replace(/.*\//,"");
这基本上是问如何使用JavaScript从完整路径获取文件名? 。 在这里,解决方案是:
var filename = url.replace(/^.*[\\\/]/, '');
我在我的网址参数中添加了。 然后在PhoneGap中我用过:
function getParameterByName( name,href ){
name = name.replace(/[\[]/,"\\\[").replace(/[\]]/,"\\\]");
var regexS = "[\\?&]"+name+"=([^&#]*)";
var regex = new RegExp( regexS );
var results = regex.exec( href );
if( results == null )
return "";
else
return decodeURIComponent(results[1].replace(/\+/g, " "));
}
来自:
var filename = getParameterByName ("nombrefichero", url);
所以这样我可以从下面得到example.pdf:
http://www.download.com/fake/example.pdf?nombrefichero=example.pdf
然后我可以下载它,并将其保存在我想要的地方。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.