上传大图像时网络连接中止后恢复或重新启动ajax请求?

Posted

技术标签:

【中文标题】上传大图像时网络连接中止后恢复或重新启动ajax请求?【英文标题】:Resume or restart ajax request after network connection abort while uploading large images? 【发布时间】:2019-11-21 12:56:06 【问题描述】:

我正在尝试使用 PLUpload library.at fileUploaded 函数上传大文件我有 ajax 调用将图像上传到 Amazon S3 但 ajax 调用失败,提示错误网络连接中止。 请帮助如何重新启动或恢复我的请求

【问题讨论】:

【参考方案1】:

首先,我使用 offline js 检测到网络已关闭或运行良好

var run = function()        
         Offline.check();
    

    setInterval(run, 3000);

每 3 秒检查一次网络连接是否可用。

当网络重新连接后,在 up 函数中执行操作

Offline.on('up', function()
if(ajax_response === null || ajax_response == 'error')

    rename_file (oldname,newname)

);         

将函数参数存储为全局变量以用于函数调用。

    var ajax_response = null;
window.rename_file = function(oldname,newname)
    
        var resp =null;

        $.ajax(            
            url:'ajaxcall.php',
            data:action:'rename_file',new_name:newname,old_name:oldname,  
            async:false,            
            success:function(data,status)
            
                resp = 'success';
            ,
            error: function(jqXHR, textStatus, errorThrown)                
                resp = 'error';                 
            
        );

        ajax_response.= resp;
        return resp;
    

【讨论】:

以上是关于上传大图像时网络连接中止后恢复或重新启动ajax请求?的主要内容,如果未能解决你的问题,请参考以下文章

中止 API 获取后重新启动异步函数

在上传大图像时,蛋糕php中的内存分配问题

在 AFNetworking 重新连接网络时恢复所有上传任务

在 iOS 4.0 上使用大图像时应用程序崩溃

电脑连接无线网运行半小时左右自动断网,只要重新启动能恢复网络连接、求大神分析原因及解决方案!拜谢

无线网络连接已断开?