Dropzone无法发送大文件

时间:2017-08-25 02:09:04

标签: asp.net file send dropzone.js bigdata

我尝试发送一个大文件(600mb),并且在发送过程中dropzone是froozen: Dropzone froozen here 我正在使用asp.net(C#)和IIS服务器。

我不知道发送到服务器的请求是否配置了小尺寸,我尝试改变IIS的许多配置并没有解决这个问题:(

我处理请求的类是:

public void ProcessRequest(HttpContext context){             试试{

            context.Response.ContentType = "text/plain";


            string _Path = "";
            string Usuario = context.Session["Usuario"].ToString();
            string Senha = context.Session["Senha"].ToString();
            string Pasta_Atual = context.Session["Pasta_Atual"].ToString();
            if (context.Session["Pasta_Atual_Hierarquia"] != null) _Path = "~/" + context.Session["Pasta_Atual_Hierarquia"].ToString();


            //string dirFullPath = HttpContext.Current.Server.MapPath("~/MediaUploader/");                      
            string dirFullPath = HttpContext.Current.Server.MapPath(_Path);


            if (System.IO.Directory.Exists(dirFullPath) == false) System.IO.Directory.CreateDirectory(dirFullPath);
            string[] files;
            int numFiles;
            files = System.IO.Directory.GetFiles(dirFullPath);
            numFiles = files.Length;
            numFiles = numFiles + 1;

            string _ArquivoEExtensao = "";
            string _NomeArquivo = "";
            string _ExtensaoArquivo = "";
            string _CaminhoCompleto = "";
            string _TamanhoArquivo = "";
            string _CodigoGerado = "";


            foreach (string s in context.Request.Files) {

                _CodigoGerado = "";
                HttpPostedFile file = context.Request.Files[s];
                _NomeArquivo = file.FileName;
                _ExtensaoArquivo = file.ContentType;

                if (!string.IsNullOrEmpty(_NomeArquivo)) {
                    _ExtensaoArquivo = Path.GetExtension(_NomeArquivo);
                    _NomeArquivo = _NomeArquivo.Replace(_ExtensaoArquivo, "");
                    _ArquivoEExtensao = _NomeArquivo + _ExtensaoArquivo;
                    int contador = 0;
                    _CaminhoCompleto = dirFullPath + _ArquivoEExtensao;
                    while (System.IO.File.Exists(_CaminhoCompleto)) {
                        _NomeArquivo = _NomeArquivo + "-" + contador.ToString();
                        _ArquivoEExtensao = _NomeArquivo + _ExtensaoArquivo;
                        _CaminhoCompleto = dirFullPath + _ArquivoEExtensao;
                    }
                    file.SaveAs(_CaminhoCompleto);
                    _TamanhoArquivo = file.ContentLength.ToString();
                }
            }

            /*salvando no webserivice*/
            int tentativas = 0;
            tentadenovo:
            try {
                wsArquivo.wsArquivo m_oArquivo = new wsArquivo.wsArquivo();                    
                _CodigoGerado = m_oArquivo.Arquivo_Salvar_DADOS(Usuario, Senha, "0", _NomeArquivo, _Path.Replace(@"\", @"/").Replace(@"~", @"") + _ArquivoEExtensao, _ExtensaoArquivo, "NULL", _TamanhoArquivo, Pasta_Atual, "NULL", "", _CaminhoCompleto);
            }
            catch (Exception ex) {
                tentativas++;
                System.Threading.Thread.Sleep(500);
                if (tentativas <= 6) {
                    goto tentadenovo;
                } else {
                    System.IO.File.Delete(_NomeArquivo);
                    throw ex;
                }

            }
            /*fim salvando no webserivice*/

            context.Response.Write(_CodigoGerado);
        }
        catch (Exception ex) {               

            throw ex;
        }

    }

这适用于所有其他文件(小)

有人可以帮助我吗?

0 个答案:

没有答案