我想使用一个html网页来查看它的源服务器到特定的子文件夹(/home/pi/Pictures),然后计算那里的子文件夹的数量,并在LAN上远程查看时在页面上打印出来。源服务器是一个树莓派,软件有。net6,主要是用c#编写的,有一些js, css。
我发现了很多旧的(和冲突的)答案,所以我需要在2022年6月做这个,在当前的浏览器上?
这似乎是一个两个主题,其中一个是JS,另一个是c#,因为你的文件在服务器上,而你的服务器代码是c#。c#中目录的实际计数很简单,只需使用像string[] folders = Directory.GetDirectories("path");
和return folders.Length;
这样的语法。当然,您需要确保该路径不能由用户提供,因为这存在安全风险。
然后你需要在c#端调用API的代码,比如public asyncTask<IActionResult<int>> GetCountOfFolders() { ... }
,它需要返回数字。
在JavaScript端,你可能会写let result = await fetch("/your/url/here)
,然后是let count = await result.JSON();
之类的东西。
最后,假设你只是在网页上显示这个,你可能会做let display = document.getElementById("your-DOM-element-ID");
和display.innerText = count;
或其他一些值设置。
我在这里假设树莓派可以通过System.IO
和其他一些东西访问windows类型的Directory
类。我还省略了很多关于c# API调用(在控制器中,但这只是开始)和其他事情的细节。当然,如果你想加载一个获取数字的页面,你根本不用JavaScript,你只需要让那个API调用返回一个HTML页面,其中已经内联了数字,你只需要使用浏览器从你的API URL请求那个页面——这时它就不是真正的"API"了;了。