我将文件路径连同文件名从spring控制器发送到html页面。
(即,D:/dataStacks/myStacks/myFilename.txt
从弹簧控制器发送到js控制器)。
我想显示文件的完整路径以及网页上的文件名。
请建议我如何只从FILEPATH响应对象中返回文件名返回给js控制器。任何建议都会有所帮助。
js控制器:
myApp.controller('getPathController', function ($scope, MyFilesService) {
$scope.getFilePathAndName = function () {
MyFilesService.getFiles().then(
function (response) {
$scope.filePathAndName = response; // c:/dataStacks/myStacks/myFilename.txt
},
function (errResponse) {
//error
});
}
$scope.getFilePathAndName();
});
//service call
myFilesService.getFiles = function () {
var Url = myURL + '/filesPathData/getFilePath.form';
$http.get(repUrl).then(
function (response) {
//return response
}
//return statement
}
弹簧控制器:
@RequestMapping(value = "/getFilePath", method = RequestMethod.GET,produces="text/plain")
public @ResponseBody String getFilePath1(HttpServletRequest request) throws Exception {
String FILEPATH = "c:/dataStacks/myStacks/myFilename.txt";
File f = new File(FILEPATH);
//logic to deal with the file
return FILEPATH;
}
HTML:
<html>
<body>
FilePath with filename : {{filePathAndName}} //logic implementation //print only the filename from above got response object
<h1>FileName here</h1>
</body>
</html>
在我的html页面中,我想打印从响应对象中获取的文件名。
{{filePathAndName}}
包含D:/dataStacks/myStacks/myFilename.txt
。如何在html页面中仅打印文件名myFilename.txt
。
答案 0 :(得分:0)
要从路径中提取文件名,请尝试以下操作:
var filename = "c:/dataStacks/myStacks/myFilename.txt".split("/").slice(-1)[0];
console.log(filename);
&#13;
因此,您需要将表达式{{filePathAndName}}
更改为{{filePathAndName}}.split("/").slice(-1)[0]
。
答案 1 :(得分:0)
这里一个方便的功能是lastIndexOf()
。这会将/
和substring
集$scope.filePathAndName
的最后一个实例抓取到您要查找的最后一个部分。这是一个快速模型,看起来像:
var temp = "C:/folder/project/other/myFile.txt";
var index = temp.lastIndexOf("/") + 1;
console.log(temp.substring(index));
&#13;
答案 2 :(得分:0)
在控制器中,从斜杠中分割路径并获取数组的最后一个元素。
$scope.filePathAndName = response.split(/[/]+/).pop();
答案 3 :(得分:0)
简单的字符串函数/方法就足够了:
var string = 'c:/dataStacks/myStacks/myFilename.txt';
var fileName = string.substring(string.lastIndexOf('/')+1);
console.log(fileName); // myFilename.txt