国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 編程 > .NET > 正文

asp.net下實現支持文件分塊多點異步上傳的 Web Services

2024-07-10 12:40:12
字體:
來源:轉載
供稿:網友
本文的客戶端應用程序不包括 ASP.Net Web 應用程序!

本文假設 URL: http://localhost/mywebservices/updownload.asmx

共有 4 個程序文件 (Web.Config 就不贅述了)

Server Side: 

標題中所提到的 "異步" 其實在服務器端的程序并沒有什么特殊的,而主要是通過客戶端應用程序
異步調用相關 Web Method 實現的!

1. updownload.asmx ,位于 IIS 的某個 Web 共享目錄,代碼如下,只有一句話:

<%@ WebService Language="c#" Codebehind="UpDownLoad.asmx.cs" Class="Service1" %>

2. updownload.asmx.cs ,即: updownload.asmx 的 Codebehind ,位于 IIS 的某個 Web 共享目錄的 bin 子目錄下,代碼如下:

/*

本文件位于 Web 共享目錄的 bin 子目錄下,通過執行如下命令行編譯:
csc /t:library updownload.asmx.cs

*/
using System.Diagnostics;
using System.Web;
using System.Web.Services;
using System.IO;
using System;

public class Service1 : System.Web.Services.WebService
{
 [WebMethod]
 public string HelloWorld()
 {
  return "Hello World";
 }

 //從 Web Method 本身,其實看不出 "同步" 還是 "異步"
 [WebMethod(Description = "為了支持多點分塊異步上傳文件,此方法必須由客戶端預先調用,以便在服務器端生成指定 FileName 和 Length 大小的空白文件預定空間! 建議客戶端同步調用")]
 public string CreateBlankFile(string FileName,int Length) //建議由客戶端同步調用
 {
  FileStream fs = new FileStream(Server.MapPath(".") + "http://" + FileName, FileMode.OpenOrCreate, FileAccess.ReadWrite, FileShare.None);
  fs.Write(new byte[Length], 0, Length);
  fs.Close();
  fs = null;
  return FileName + " (" + Length + ") 空白文件已經創建!";
 }

 [WebMethod(Description = "提供一個用于一次完整上傳整個文件的方法! 建議客戶端同步調用")]
 public string UploadFileBytes(byte[] Bytes,string FileName)
 {
  return UploadFileChunkBytes(Bytes, 0, FileName);
 }

 [WebMethod(Description = "提供一個用于一次只上傳由 Position 位置起始的, Bytes 字節的 FileName 文件塊存入服務器端相應文件的相應字節位置! 建議客戶端異步調用")]
發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 卢龙县| 天峻县| 邵武市| 会昌县| 新余市| 东阿县| 张家口市| 白沙| 武隆县| 崇左市| 苏尼特左旗| 满洲里市| 鹿泉市| 南通市| 原平市| 枣阳市| 富源县| 峨眉山市| 乌苏市| 绥中县| 五华县| 云安县| 醴陵市| 阿拉善左旗| 镇康县| 诏安县| 于田县| 东平县| 崇信县| 新泰市| 获嘉县| 墨脱县| 米泉市| 富源县| 永康市| 美姑县| 南川市| 天门市| 湾仔区| 龙南县| 同心县|