Nota: Envie -o com Ajax, o arquivo não pode ser muito grande, é melhor ser inferior a trezentos ou quatrões trilhões, porque solicitações excessivas de Ajax contínuas em colapso no fundo, e os dados no InputStream estarão vazios, especialmente durante o Google Teste do navegador.
1. Arquivos de leitura simples de segmento são BLOB, Ajax Uploads para o servidor
<div class = contêiner> <div class = painel-default> <div class = painéis de cabeça> LEITURA: < / div> <div class = painel-body> <input type = iD do arquivo = arquivo /> <BlockQuote style = break word: break-all;> </lockquote> </div> </div> </div>
JS:
/** Os arquivos de segmentação são BLOBs e enviados para os segmentos do servidor* para fazer upload de arquivos exe com Ajax lançará uma exceção* /var Filebox = document.getElementById ('arquivo'); 0]; ; {Console.info ('Carregado:' + CULOADED + 'CURSUAÇÃO:' + Carregado); 'Um total:' + (new Date (). GetTime () - starttime.gettime ()) / 1000); // Especifique a posição inicial e a posição final Leia o arquivo //console.info_start: ' + Iniciar); (BLOB);} // Comece a ler Readblob (0); servidor var fd = novo formData (); ); var dados = avaliar (' + xhr.PronseText +');
Código de fundo:
/// Resumo> /// Upload2 Instruções abstratas /// </summar = contexto; ; .Toint32 (req.form [carregado]); _file.inputstream; ); WriteLine (totalCount + DataOne.Length) .Tring ()); Retornar true;}}
2. Leia o arquivo nas seções para Blob e faça o upload para o servidor com Ajax.
<div class = contêiner> <div class = painel-default> <div class = painéis de cabeça para o painel> LEITURA: </div> <div class = painel-body> <entrada de entrada = ID do arquivo = FILE /> <BR /> <Tipo de entrada = Valor do botão = STOP ONCLIGHT = STOP (); /Progress> <blockquote id = status style = word-break: break-all;> </lockquote> </div> </div>
JS:
/** Os arquivos de segmentação são BLOBs e enviam -o para o servidor por Ajax* Use AJAX para enviar o tamanho do arquivo de dados. conexão longa ou websocket */var filex = document.getElementById ('arquivo'); NULL; ); E.Loaded; -Current: ' + carregado); ). Valor = porcentagem;});} // comece a ler Readblob (0); ; post ',' ../ashx/upload2.ashx ', true); (xhr.status == 500) {//console.info ('Erro de solicitação,' + xhr.roponsetext); }} // Especifique a posição inicial, leia a função de arquivo readblob (start) {// especifique a posição inicial e a posição final, leia o arquivo var blob = file.slice (start, start + etapa); );} // suspender a função stop () {// console.info ('Stop, CULOADED:' + CULOADED); Continue, CULOADED: ' + CULOADED);
Código de segundo plano com acima
3. Leia os arquivos em seções para matriz binária e envie -o para o servidor com Ajax
O uso de matrizes binárias é particularmente baixo e o arquivo final é um pouco desviado com o tamanho original
O conteúdo HTML é o mesmo que acima
JS:
/** Seg segmentado Os arquivos de leitura são matrizes binárias e upload para o servidor por AJAX para usar o método de transmissão usando matrizes binárias. = Document.getElementById ('arquivo'); de Read o número total Var FOTE = NULL; ) // Se o valor é atribuído várias vezes, os dados serão perdidos new Date (); / Upload de dados do segmento para o servidor uploadfile (resultado, cuxoad ed, function () {console.info ('carregado:' + culoadeado + '---- Current:' + carregado); // Se não for concluído, continue com o culoadeio + = Carregado; } // Exibir Resultados Progresso = (CULOADED / TOTAL) * 100; Inicie a leitura. servidor var fd = novo para mdata (); (); {// console.info (xhr.PronseText); / Inicie o envio do XHR.send (FD);}} // Especifique a posição inicial. , CULOADED: ' + CULOADED);
Código de fundo:
/// Resumo> /// Upload3 Instruções abstratas /// </summar = Contexto; (q)). ','). é um tipo int, o maior problema será 1.999999999990686774G Int LoadEd = Convert.toint32 (req.form [carregado]); Nome do NOWNOGE DE fs.Write (DataOne, 0, DataOne.Length);} finalmente {fs.close ();} _log.WriteLine); Writest (string str) {httpContext.Response.write (str);} public bool isre utilizável {get {return false;}}}Resumir
O acima é o domínio do arquivo HTML5+FileReader Ler Arquivos e enviado para o servidor. Espero que seja útil para todos. Muito obrigado pelo seu apoio ao site VevB Wulin!