我正在使用一个上传器小程序,它将文件发送到php中的服务器端脚本。我想确保,如果用户在文件完成上传之前关闭页面,那么文件将从服务器中删除,因为它们无法正确处理。
问题来自于我有一个站点试图同时调用两个服务器端脚本。
如果我在不运行上传程序小程序的情况下关闭页面,则使用
调用文件删除脚本$(window).bind('beforeunload', function(){
$.post("cancel.php");
});
但是,如果我运行上传器小程序,则不会触发事件,文件只会位于服务器上。有没有办法停止上传脚本以允许取消脚本运行?如果没有,是否有办法在关闭窗口之前等待上传脚本停止运行取消脚本和之前?
编辑:啊,谷歌搜索你的问题的答案的喜悦只是为了看到你的问题在堆栈溢出是谷歌的最高点......
编辑2:因此,在我的beforeunload事件中重新排列调用顺序之后,我已经成功地能够在需要时调用我想要的脚本。在尝试调用其他脚本之前,我必须确保在applet上调用cancel()
。
答案 0 :(得分:1)
为什么不将校验和(可能是MD5校验和)传输到服务器并检查文件传输是否不完整,而不是运行脚本来动态删除文件?
参考:http://php.net/manual/en/function.md5-file.php
这样,您不需要依赖删除脚本所需的整个脚本(以及HTTP请求) - 并使用数据库来适当地索引未经检查的文件。
享受并祝你好运!