gpt4 book ai didi

javascript - 使用ajax获取文件夹中的文件数

转载 作者:行者123 更新时间:2023-12-03 10:47:30 25 4
gpt4 key购买 nike

我正在尝试获取文件夹中的文件数量并将其与 maxfiles 进行比较

我在 dropzone.js 中有函数

 Dropzone.prototype._updateMaxFilesReachedClass = function() {

if ((this.options.maxFiles != null) && this.getAcceptedFiles().length >= this.options.maxFiles) {
if (this.getAcceptedFiles().length === this.options.maxFiles) {
this.emit('maxfilesreached', this.files);
}
return this.element.classList.add("dz-max-files-reached");
} else {
return this.element.classList.remove("dz-max-files-reached");
}
};

我想用文件数代替this.getAcceptedFiles().length

我尝试过这个:

   $.get('handler.php?action=count' , function(data) {return data;}) === maxFiles)

但我不知道如何返回数字(如果可能的话)。

文件 handler.php?action=count 返回数字,但我知道如何获取该数字并与 dropzone 函数一起使用。

最佳答案

我以前使用 php 来获取文件和文件夹的数量,但我发现 ajax 可以简单地做到这一点。

这是一个真实项目的典型响应,当我向服务器上的某个文件夹发送 jquery get 请求时

请求:

$.ajax({
url: "projects/"+current_project+"/img/"

})

回应

"<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 3.2 Final//EN">
<html>
<head>
<title>Index of /dumar/projects/dumar/img</title>
</head>
<body>
<h1>Index of /dumar/projects/dumar/img</h1>
<table>
<tr><th valign="top"><img src="/icons/blank.gif" alt="[ICO]"></th><th><a href="?C=N;O=D">Name</a></th><th><a href="?C=M;O=A">Last modified</a></th><th><a href="?C=S;O=A">Size</a></th><th><a href="?C=D;O=A">Description</a></th></tr>
<tr><th colspan="5"><hr></th></tr>
<tr><td valign="top"><img src="/icons/back.gif" alt="[PARENTDIR]"></td><td><a href="/dumar/projects/dumar/">Parent Directory</a> </td><td>&nbsp;</td><td align="right"> - </td><td>&nbsp;</td></tr>
<tr><td valign="top"><img src="/icons/image2.gif" alt="[IMG]"></td><td><a href="dumar1.jpg">dumar1.jpg</a> </td><td align="right">2015-01-21 01:04 </td><td align="right">174K</td><td>&nbsp;</td></tr>
<tr><td valign="top"><img src="/icons/image2.gif" alt="[IMG]"></td><td><a href="dumar2.jpg">dumar2.jpg</a> </td><td align="right">2015-01-21 01:05 </td><td align="right">177K</td><td>&nbsp;</td></tr>
<tr><td valign="top"><img src="/icons/image2.gif" alt="[IMG]"></td><td><a href="dumar3.jpg">dumar3.jpg</a> </td><td align="right">2015-01-21 01:06 </td><td align="right">117K</td><td>&nbsp;</td></tr>
<tr><td valign="top"><img src="/icons/image2.gif" alt="[IMG]"></td><td><a href="dumar4.jpg">dumar4.jpg</a> </td><td align="right">2015-01-21 01:06 </td><td align="right">110K</td><td>&nbsp;</td></tr>
<tr><td valign="top"><img src="/icons/image2.gif" alt="[IMG]"></td><td><a href="dumar5.jpg">dumar5.jpg</a> </td><td align="right">2015-01-21 01:19 </td><td align="right">118K</td><td>&nbsp;</td></tr>
<tr><td valign="top"><img src="/icons/image2.gif" alt="[IMG]"></td><td><a href="dumar6.jpg">dumar6.jpg</a> </td><td align="right">2015-01-21 01:19 </td><td align="right">127K</td><td>&nbsp;</td></tr>
<tr><td valign="top"><img src="/icons/image2.gif" alt="[IMG]"></td><td><a href="dumar7.jpg">dumar7.jpg</a> </td><td align="right">2015-01-21 01:20 </td><td align="right">137K</td><td>&nbsp;</td></tr>
<tr><td valign="top"><img src="/icons/image2.gif" alt="[IMG]"></td><td><a href="dumar8.jpg">dumar8.jpg</a> </td><td align="right">2015-01-21 01:20 </td><td align="right">121K</td><td>&nbsp;</td></tr>
<tr><td valign="top"><img src="/icons/image2.gif" alt="[IMG]"></td><td><a href="dumar9.jpg">dumar9.jpg</a> </td><td align="right">2015-01-21 01:39 </td><td align="right"> 88K</td><td>&nbsp;</td></tr>
<tr><td valign="top"><img src="/icons/image2.gif" alt="[IMG]"></td><td><a href="dumar10.jpg">dumar10.jpg</a> </td><td align="right">2015-01-21 01:34 </td><td align="right"> 79K</td><td>&nbsp;</td></tr>
<tr><td valign="top"><img src="/icons/image2.gif" alt="[IMG]"></td><td><a href="dumar11.jpg">dumar11.jpg</a> </td><td align="right">2015-01-21 01:35 </td><td align="right"> 78K</td><td>&nbsp;</td></tr>
<tr><td valign="top"><img src="/icons/image2.gif" alt="[IMG]"></td><td><a href="dumar12.jpg">dumar12.jpg</a> </td><td align="right">2015-01-21 01:38 </td><td align="right"> 75K</td><td>&nbsp;</td></tr>
<tr><th colspan="5"><hr></th></tr>
</table>
<address>Apache/2.4.10 (Win32) OpenSSL/1.0.1i PHP/5.5.15 Server at 127.0.0.1 Port 80</address>
</body></html>

如果你解析这个html,你会发现它看起来像一个文件浏览器 enter image description here

前两行是表格标题和水平分隔符,而最后一行是水平分隔符。

您可以简单地计算行数并像处理任何 html 页面一样对您的 html 进行主要计算。

为了便于说明,我使用此脚本来计算该目录中的文件数量(仅文件):

$.ajax({
url: "projects/"+current_project+"/img/"

})
.done(function( data ) {
$(".project-gallery-thumbs").empty();
$(data).find("tbody tr a").each(function(i){
if(i>=5)
{

$(".project-gallery-thumbs").append("<div class='thumb-item' style='background-image:url( projects/"+current_project+"/img/"+$(this).text()+")' data-thumb='"+$(this).text()+"'></div>")

}

});

解决方案:

在您的情况下,您可以使用相同的算法,但改为从第四个开始计数链接(忽略表标题链接),例如:

$.ajax({
url: "your folder here"

})
.done(function( data ) {
$(data).find("tbody tr a").each(function(i){
if(i>=4)
{
//this will iterate all folders and files found there
}

});

关于javascript - 使用ajax获取文件夹中的文件数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28517371/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com