WebService大文件断点续传

/// <summary>
/// 服务端:
/// </summary>
/// <param name="FileName">更新文件包名</param>
/// <param name="Offset">偏移</param>
/// <param name="Count">每次读取字节数 单位 KB</param>
/// <returns>字节组</returns>
[WebMethod(Description = "<b>大文件下载</b> 测试")]
public byte[] getFile(string FileName, long Offset, int Count)
{
  //指定下载文件夹+文件名
  string strPath = @"E:\\" + FileName;

  if (Offset < 0) { Offset = 0; }

  byte[] btBuf = new byte[Count];

  if (System.IO.File.Exists(strPath))
  {
    System.IO.FileStream fs = new System.IO.FileStream(strPath, System.IO.FileMode.Open);
    if (Offset < fs.Length)
    {
      if (0 < (int)(fs.Length - Offset) && (int) (fs.Length - Offset) < Count)
      {
        Count = (int)(fs.Length - Offset);
      }
      btBuf=new byte[Count];

      fs.Seek(Offset, System.IO.SeekOrigin.Begin);
      fs.Read(btBuf, 0, Count);
    }
    else
    { btBuf = null; }
    fs.Flush();
    fs.Close();
    fs.Dispose();
  }
  return btBuf;
}

时间: 2024-09-27 22:11:07

WebService大文件断点续传的相关文章

iOS开发之网络编程--使用NSURLConnection实现大文件断点续传下载

前言:iOS开发之网络编程--使用NSURLConnection实现大文件断点续传下载是在前篇iOS开发之网络编程--使用NSURLConnection实现大文件下载的基础上进行    断点续传的设置.关于iOS开发之网络编程--使用NSURLConnection实现大文件下载的细节这里当然就不会再累述的啦.   断点续传的原理:    每次在向服务器请求下载数据的同时,要告诉服务器从整个下载文件的数据流的某个还未下载的位置开始下载,然后服务器就返回从那个位置开始的数据流.    图片示意图:

大文件断点续传

最近项目较为清闲,研究了下Html5新增的几个重要技术点,如操作文件系统.获取摄像头麦克风.本地图片预览.Ajax上传文件等.灵光一现,我有了一个"墨迹"的想法:通过浏览器获取影音数据并实时存储到本地磁盘上,再接着后台默默上传该文件,达到视频录像伪实时备份的目的.然而经过两三天的琢磨研究,有一问题怎么也未能解决:从UserMedia中如何获得视音频流?(目前能力有限,先留着以后继续研究).哎,功亏一篑啊. 不过,一事还是值得记录和分享的,那就是大文件断点续传!总体思路:用js获取文件的

java 大文件上传

问题描述 最近需要做一个资源平台,基于web形式,需要上传大文件,格式很多种,主要是文件都比较大(500M以上的).类似电影,应用软件.我使用的是struts2+spring+hibernate技术,先前使用的是struts2的文件上传fileUpload,重新设置上传大小,可以实现大文件上传,但是速度较慢,担心网络不好的地方,会出错误,也曾想过给每个用户开一个ftp,让他们每个人先上传自己的资源,而后在需要上传资源的地方,书写自己文件的名称,我后台去查找,验证资源是否上传了,已上传就保存,未找

JAVA WEB怎么实现大文件上传(上G的文件)

问题描述 JAVAweb怎么实现上G的文件上传.好像用Struct2对大文件支持有限.比如百度云硬盘,还要邮箱的大附件上传方式.都是用什么技术实现的,activex技术,ftp方式,还是其他什么方式 解决方案 解决方案二:解决这种大文件上传不太可能用web上传的方式,只有自己开发插件或是当门客户端上传,或者用现有的ftp等.1)开发一个web插件.用于上传文件.2)开发一个FTP工具,不用web上传.3)用现有的FTP工具.下面是几款不错的插件,你可以试试:1)Jquery的uploadify插

在ASP.NET中支持断点续传下载大文件(ZT)源码_实用技巧

IE的自带下载功能中没有断点续传功能,要实现断点续传功能,需要用到HTTP协议中鲜为人知的几个响应头和请求头. 一. 两个必要响应头Accept-Ranges.ETag 客户端每次提交下载请求时,服务端都要添加这两个响应头,以保证客户端和服务端将此下载识别为可以断点续传的下载: Accept-Ranges:告知下载客户端这是一个可以恢复续传的下载,存放本次下载的开始字节位置.文件的字节大小: ETag:保存文件的唯一标识(我在用的文件名+文件最后修改时间,以便续传请求时对文件进行验证): Las

php断点续传时如何把大文件分割的源码分享

php实现断点续传,就需要把大文件分割成多个小文件,然后单个上传.传完后在合并. │ merge.php –合并文件脚本 │ merge.zip –合并后文件 │ socket.zip –需要分割的文件 │ split.php –分割文件脚本 │ └─split –分割后小文件目录 下面是源码 split.php <?php   $fp=fopen("socket.zip","rb"); $filesize= 10; $i= 0; $no= 1; while(

Win7下局域网大文件或多文件经常出现复制中断的解决方法

  你们在传送文件都是选择哪个方式?QQ互传.U盘拷贝还是其他什么方式,这两种方式虽然最为常见,但是也有弊端,利用QQ互传的话,第一传送的速度无法保证,一般较慢;第二就是两个电脑必须都登入QQ才能实现互传,但是如果只有一个账号就难以实现了.U盘传送相对较为繁琐,要拷贝复制.现在我们可以采用局域网传送,同时避免了上诉的两个问题.万一在传送大文件时出现中断肿么办呢?下面小编来为大家解答! 出现复制大文件时才出现中断的情况,大多是由于网络不稳定引起的,当然原因有多方面. 1.目标计算机网卡不稳定或网线

文件下载-java服务器文件断点续传

问题描述 java服务器文件断点续传 如何让服务器 支持断点续传的功能 要下载的文件需要放在服务器的那个位置? 客户端那边说了 我这边只需要提供给他 一个文件的下载链接就好了 而且还要支持断点续传 如何实现呢 求大神帮忙 解决方案 java 断点续传文件到远程服务器Java断点续传服务器代码java 文件下载 断点续传 解决方案二: 这个功能需要客户端配合一下,让客户端请求时带上已经成功收到字节数做为参数,你返回数据流时跳过这些字节,然后再客户端进行合并,就可以了. 解决方案三: 解析HTTP头

ajax-web文件上传问题如何利用xmlHttpRequest对象上传大文件(1G或以上)

问题描述 web文件上传问题如何利用xmlHttpRequest对象上传大文件(1G或以上) 如题,本人小白一名,在学习实现一个资源共享系统,涉及到很多1GB以上的文件,查阅了很多资料,发现可以用ajax实现,步骤如下:1.通过javascript获取文件对象2.利用slice将文件切割成小片3.利用xmlhttprequest的send方法将片发送给处理程序4.php处理程序将文件拼接于是动手模拟了一下,可是总是没有该有的效果,求大神指导,谢谢!文件上传端test.php代码如下: 处理端代码