- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我已经为我的应用程序构建了一个 uploader ,但在某些事情上遇到困难。
每隔 3 秒,我的 AJAX 脚本就会调用我的 ASP 页面 checkProgress.asp,以检查上传过程中该文件夹中有多少文件,它还会检查其中是否有名为 complete.txt 的 txt 文件。
计数完成后,它会将响应发送回 AJAX 脚本,其中包含“文件 2 已上传...”之类的内容,3 秒后它将发送“文件 3 已上传...”,依此类推。如果找到 complete.txt 文件,它将返回“Complete”而不是计数。这工作得很好,一次,然后似乎没有正常执行。我收到了应有的“完成”消息,但没有收到文件计数进度响应。
我使用新的浏览器窗口手动运行 checkProgress 页面以查看为什么我的进度面板没有更新进度,并注意到浏览器加载图标只是在旋转,当上传完成时,弹出“完成”。所以 AJAX 调用没有到达收集文件数的页面,因为它很忙,这让我很困惑,因为该页面所做的只是计算一个文件夹中有多少文件。
有人可以建议我做错了什么吗?在添加该文件夹时,这只是不会发生吗?
这是我的 AJAX 脚本。这在上传开始时开始:
var upload1ProgressCheckInt = setInterval(function() {
var postData = "token="+token;
$.ajaxSetup ({ cache: false });
$.ajax({ type : 'GET', url : 'ajax/checkProgress.asp',
dataType : 'html', data : postData,
success : function(data) {
if (data == "Failed") {
$('#upload1ProgressStatus').html('Error: Upload cancelled!');
clearInterval(upload1ProgressCheckInt);
// do stuff
} else if (data == "Complete") {
$('#upload1ProgressStatus').html('Success: Files uploaded');
clearInterval(upload1ProgressCheckInt);
// do stuff
} else {
$('#upload1ProgressStatus').html(data);
}
}
}); // end ajax
}, 3000);
这是 checkProgress.asp 页面:
Set FSO = Server.CreateObject("Scripting.FileSystemObject")
If (FSO.FileExists(Server.MapPath("../files/photos/"&token_&"/complete.txt"))) = True Then
Response.Write "Complete"
Else
Set folder = FSO.GetFolder(Server.MapPath("../files/photos/"&token_&"/"))
Set files = folder.Files
fileCounter = files.Count
Response.Write "File "&fileCounter&" uploaded..."
End If
最佳答案
...继续评论。
我是这样理解的。经典 ASP 为每个 session 分配一个工作线程,因为经典 ASP 对象是单线程的,因此在请求之间共享它们(存储在 session 对象中)的唯一方法是为每个 session 使用一个线程。当然,这正是您所看到的 - 所有其他请求都被阻止,直到上传完成。
解决这个问题的方法是中断 session 。不幸的是, session cookie 仅适用于 HTTP(出于安全原因),因此我认为没有办法将其从 AJAX 请求中删除。
您可以让您的 IIS 条目响应另一个主机名,并将您的 AJAX 请求转换为对第二个主机名的 JSONP 请求。我不确定是否有更优雅的方式来做到这一点。
==================
编辑:实际上我收回关于 cookie 的部分。您肯定可以通过将 headers:{Cookie:""}
传递给您的 ajax()
调用来杀死它们吗?值得一试....
关于javascript - Ajax/iFrame/FileSystemObject 上传,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8958740/
如果这已在其他地方得到回答,我们深表歉意。我很难理解其他论坛帖子上糟糕的书面英语,我真的很想了解发生了什么。 这段代码很好用。 dim FileSys, source, destination, WS
我刚刚经历过这样的时刻之一,你走出杂草,检查你的代码并问自己“我为什么要那样做?” 我有一个脚本,它使用 FileSystemObject 创建一个包含多个子文件夹和文件的文件夹。一切正常,但我想我一
在本节描述的示例代码,提供真实的例子来示范在 FileSystemObject 对象模式中可用的许多功能。该代码显示了如何一起使用对象模式的所有功能,以及如何在您自己的代码中有效
在 VBScript 中,我想获取按创建日期排序的文件夹中的文件列表。我看到为了做到这一点,我需要使用记录集(对我来说似乎有点矫枉过正)或自己对集合进行排序(我想我可以避免它并且我希望我的代码更短)。
下面是用于打开文件并将所需数据粘贴到这些文件中并在完成工作后关闭这些文件的代码。当我运行这段代码时,没有文件在打开和 Run-time error-13 : Type mismatch 正在抛出这行代
不知道为什么,但下面的代码已经开始抛出一个未知错误。当宏运行时,Excel 停止响应。 为什么会出现这个错误? 具有相同功能的替代路线是什么? 此代码位于 Windows 7 计算机上的 Excel
我创建了一个 Do While 循环来循环使用 .jpg 的文件扩展,以便使用这样的代码发现第一个 fn = Dir(sPath & "*.jpg") Do While fn <> "" sF
我正在尝试编写一个宏来自动将 csv 文件导入我的工作簿。但是我遇到了解析分隔符的问题,特别是文件系统对象的 readline 方法在调用时没有读取完整的行 例子 csv中的一行: 1,2,jac
我有几个使用 FileSystemObject 的过程。我觉得挺方便的。 问题:将 FileSystemObject 的现有实例作为参数从“主”过程传递到这些其他过程,而不是让每个过程创建自己的 Fi
我编写了一个小程序来检查驱动器是否可用等。当我在另一台计算机上安装它时,Avira Antivirus 弹出木马警告。我将有问题的代码行缩小为: 20 Set fso = CreateO
有没有我可以使用的函数将不可靠的文件名转换为好的文件名? 我正在处理大量照片,偶尔,我的脚本会停止,因为上传者在文件名中加入了 curl 符号 (~)。我现在还想知道是否还有其他不能出现在文件名中的错
我有 Excel-2007。我正在使用文件系统对象 VBA 代码列出目录中的文件。我还在 Excel 中设置了对 Microsoft Scriptlet 库的引用。我得到: 编译器错误:用户定义类型未
如果一个文件夹中只有一个文件,我是否可以在不知道知道其名称或遍历文件夹中的文件的情况下将其取出? (代码是 VBS,但它可以是任何东西,FSO 是这里有趣的部分。) 这对我不起作用: dim fso
我想使用以下代码创建一个目录和一个子目录: Public fso As Scripting.FileSystemObject Set fso = New Scripting.FileSystemObj
是的,我仍在使用经典 ASP。 我将要编写一个脚本,每 5 分钟检查一次服务器上的目录,检查我的办公室是否有新上传的照片,并将照片传输到另一个位置。我使用 ASP 和 FileSystemObject
所以在我的程序中,我使用 COM Auotmation(Silverlight 4 中的 AutomationFactory)创建一个 FileSystemObject,我向其写入一个字符串 (the
我已经在网络驱动器上创建了一个文件作为脚本的一部分,并且我试图将其隐藏,这样如果再次运行脚本,它应该能够看到该文件并根据其中包含的信息进行操作,但是我在做这件事时遇到了麻烦。到目前为止我所拥有的是:
我需要访问文件信息,例如文件大小。 我可以创建 ActiveXObject: ActiveXObject fileSystem = new ActiveXObject("Scripting.FileS
FileSystemObject 对象 提供对计算机文件系统的访问。 说明 以下代码举例说明如何使用 FileSystemObject 对象返回一个 TextStream 对象,此对象可以被读
在源文件夹中有 3 个文件: a.csv b.csv a.csv_backup 我希望 *.csv 只复制 a.csv 和 b.csv,但它复制了 a.csv_backup 也是。 代码: Dim o
我是一名优秀的程序员,十分优秀!