﻿<!DOCTYPE html PUBLIC “-//W3C//DTD XHTML 1.0 Frameset//EN” “http://www.w3.org/TR/xhtml1/DTD/xhtml1-frameset.dtd”>
<html >
<head>
  <meta charset="UTF-8">
  <!--<meta http-equiv="X-UA-Compatible" content="IE=9">-->
  <title>DST管理器-版带快传</title>
  
  <link rel="stylesheet" href="css/reset.min.css">
  <link rel="stylesheet" href="css/style.css">
</head>

<body>
  <section>
  <!--for demo wrap-->
  <h1>共享列表</h1>
  <div class="tbl-header">
    <table cellpadding="0" cellspacing="0" border="0">
      <thead>
        <tr>
          <th>文件名</th>
          <th>带号</th>
          <th>针数</th>
          <th>尺寸</th>
          <th>下载</th>
        </tr>
      </thead>
    </table>
  </div>
  <div class="tbl-content">
    <table cellpadding="0" cellspacing="0" border="0">
      <tbody>
%inouthtmlreplace%
      </tbody>
    </table>
  </div>
</section>

<div style="text-align:center;clear:both">
</div>

<!-- follow me template -->
<div class="made-with-love">
            <blockquote id="Statustext" style="word-break:break-all;"></blockquote>
            <progress id="progressOne" max="100" value="0" style="width:400px;"></progress>
            <blockquote id="Status" style="word-break:break-all;"></blockquote>
            <br>
            <br>
            <br>
            <br>
            <input type="button" class="btn-upfile" value="暂停" onclick="stopo();" id="button1"/>
            <input type="button" class="btn-upfile" value="上传" onclick="updata();" id="button2"/>
            <br>
            <br>
            <br>
            <br>
            <input type="file" class="btn-upfile" multiple="multiple" id="file" />
            </div>

  <script src='js/jquery.min.js'></script>
  <script  src="js/index.js"></script>

<script>
var fileBox = document.getElementById('file');
var reader = null;  //读取操作对象
var step = 1024 * 1024 * 3.5;  //每次读取文件大小
 //当前已经读取总数
var file = null; //当前读取的文件对象
var enableRead = true;//标识是否可以读取文件
var cuLoaded = 0;
var button1 = document.getElementById('button1');
var openf = 0;
fileBox.onchange = function () {
	openf = 0;
	reader = null;
}
//alert("你按了取消，那就是返回false");
function updata() {
	if(reader){return;}
	reader = new FileReader();
	reader.onload = function (e) {
        var result = reader.result;
        var loaded = e.loaded;
        if (enableRead == false)
            return false;
		uploadFile(result, cuLoaded, function () {
            cuLoaded += loaded;
			var percent = (cuLoaded / total) * 100;
            document.getElementById('Status').innerText = parseInt(percent);
            document.getElementById('progressOne').value = percent;
			if (cuLoaded < total) {
				readBlob(cuLoaded);}
		    else {
				reader = null;
				updata();}
        });
    }
	function uploadFile(result, startIndex, onSuccess) {
        var blob = new Blob([result]);
        var fd = new FormData();
        fd.append('file', blob);
        fd.append('filename', file.name);
        fd.append('loaded', startIndex);
        fd.append('filesize', file.size);
        var xhr = new XMLHttpRequest();
        xhr.open('post', '../ashx/upload2.ashx', true);
        xhr.onreadystatechange = function () {
            if (xhr.readyState == 4 && xhr.status == 200) {
                if (onSuccess)
                    onSuccess();
            } else if (xhr.status == 500) {
                setTimeout(function () {
                    containue();
                }, 1000);
            }
        }
        xhr.send(fd);
    }
	if(openf >= fileBox.files.length){
		document.getElementById('Statustext').innerText = '传输完成！';
		return;}
	cuLoaded = 0;
	file = fileBox.files[openf];
	document.getElementById('Status').innerText = cuLoaded;
    document.getElementById('progressOne').value = cuLoaded;
	document.getElementById('Statustext').innerText = file.name;
    var total = file.size;
    var startTime = new Date();
	var sheepout = false;
	readBlob(0);
	openf+=1;
}

function readBlob(start) {
    var blob = file.slice(start, start + step);
    reader.readAsArrayBuffer(blob);}
function stopo() {
	if(reader){
    enableRead = false;
    reader.abort();
	button1.value = '继续';
	button1.onclick = containue;
	}}
function containue() {
	if(reader){
    enableRead = true;
	button1.value = '暂停';
	button1.onclick = stopo;
    readBlob(cuLoaded);
	}}
</script>
<script>
  function downfile(evtx){
	 window.location.href="/file?a="+evtx.value;
	  }
</script> 
</body>
</html>
