中文字幕日韩一区二区_国产一区二区av_国产毛片av_久久久久国产一区_色婷婷电影_国产一区二区精品

asp.net Web Services上傳和下載文件(完整代碼)第1/2頁

下面,我們就分別介紹如何通過Web Services從服務器下載文件到客戶端和從客戶端通過Web Services上載文件到服務器
一:通過Web Services顯示和下載文件
我們這里建立的Web Services的名稱為GetBinaryFile,提供兩個公共方法:分別是GetImage()和GetImageType(),前者返回二進制文件字節數組,后者返回文件類型,其中,GetImage()方法有一個參數,用來在客戶端選擇要顯示或下載的文件名字。這里我們所顯示和下載的文件可以不在虛擬目錄下,采用這個方法的好處是:可以根據權限對文件進行顯示和下載控制,從下面的方法我們可以看出,實際的文件位置并沒有在虛擬目錄下,因此可以更好地對文件進行權限控制,這在對安全性有比較高的情況下特別有用。這個功能在以前的ASP程序中可以用Stream對象實現。為了方便讀者進行測試,這里列出了全部的源代碼,并在源代碼里進行介紹和注釋。
首先,建立GetBinaryFile.asmx文件:
我們可以在VS.NET里新建一個C#的ASPxWebCS工程,然后“添加新項”,選擇“Web服務”,并設定文件名為:GetBinaryFile.asmx,在“查看代碼”中輸入以下代碼,即:GetBinaryFile.asmx.cs:
復制代碼 代碼如下:
usingSystem;
usingSystem.Collections;
usingSystem.ComponentModel;
usingSystem.Data;
usingSystem.Diagnostics;
usingSystem.Web;
usingSystem.Web.UI;
usingSystem.Web.Services;
usingSystem.IO;
namespacexml.sz.luohuedu.NET.ASPxWebCS
{
///<summary>
///GetBinaryFile的摘要說明。
///WebServices名稱:GetBinaryFile
///功能:返回服務器上的一個文件對象的二進制字節數組。
///</summary>
[WebService(Namespace="http://xml.sz.luohuedu.NET/",
Description="在WebServices里利用.NET框架進行傳遞二進制文件。")]
publicclassGetBinaryFile:System.Web.Services.WebService
{
#regionComponentDesignergeneratedcode
//Web服務設計器所必需的
privateIContainercomponents=null;
///<summary>
///清理所有正在使用的資源。
///</summary>
protectedoverridevoidDispose(booldisposing)
{
if(disposing&&components!=null)
{
components.Dispose();
}
base.Dispose(disposing);
}
#endregion
publicclassImages:System.Web.Services.WebService
{
///<summary>
///Web服務提供的方法,返回給定文件的字節數組。
///</summary>
[WebMethod(Description="Web服務提供的方法,返回給定文件的字節數組")]
publicbyte[]GetImage(stringrequestFileName)
{
///得到服務器端的一個圖片
///如果你自己測試,注意修改下面的實際物理路徑
if(requestFileName==null||requestFileName=="")
returngetBinaryFile("D://Picture.JPG");
else
returngetBinaryFile("D://"+requestFileName);
}
///<summary>
///getBinaryFile:返回所給文件路徑的字節數組。
///</summary>
///<paramname="filename"></param>
///<returns></returns>
publicbyte[]getBinaryFile(stringfilename)
{
if(File.Exists(filename))
{
try
{
///打開現有文件以進行讀取。
FileStreams=File.OpenRead(filename);
returnConvertStreamToByteBuffer(s);
}
catch(Exceptione)
{
returnnewbyte[0];
}
}
else
{
returnnewbyte[0];
}
}
///<summary>
///ConvertStreamToByteBuffer:把給定的文件流轉換為二進制字節數組。
///</summary>
///<paramname="theStream"></param>
///<returns></returns>
publicbyte[]ConvertStreamToByteBuffer(System.IO.StreamtheStream)
{
intb1;
System.IO.MemoryStreamtempStream=newSystem.IO.MemoryStream();
while((b1=theStream.ReadByte())!=-1)
{
tempStream.WriteByte(((byte)b1));
}
returntempStream.ToArray();
}
[WebMethod(Description="Web服務提供的方法,返回給定文件類型。")]
publicstringGetImageType()
{
///這里只是測試,您可以根據實際的文件類型進行動態輸出
return"image/jpg";
}
}
}
}

AspNet技術asp.net Web Services上傳和下載文件(完整代碼)第1/2頁,轉載需保留來源!

鄭重聲明:本文版權歸原作者所有,轉載文章僅為傳播更多信息之目的,如作者信息標記有誤,請第一時間聯系我們修改或刪除,多謝。

主站蜘蛛池模板: 一区在线观看 | 国产乱码精品一区二区三区五月婷 | 国产精品久久久久久久久久软件 | 香蕉久久网 | 久久久久久久久久久福利观看 | 亚洲精品久久久久中文字幕二区 | 日日精品 | 免费一级欧美在线观看视频 | 亚洲欧美日韩精品久久亚洲区 | 亚洲一区二区三区在线视频 | 波多野结衣先锋影音 | 中文精品视频 | 日本在线看片 | 亚洲二区视频 | 中文视频在线 | av黄色在线| 国产精品久久久久无码av | 中文字幕一区二区三区四区五区 | 青青久久av北条麻妃海外网 | 精品国产区 | 99精品欧美一区二区三区综合在线 | 国产日产久久高清欧美一区 | 成人久久久久久久久 | 中文字幕一区二区三区四区五区 | 国产精品99久久久久久www | 免费黄色大片 | 午夜精品一区二区三区在线 | 国产伊人精品 | 亚洲二区在线观看 | 国产精品免费在线 | a欧美 | 成人区精品一区二区婷婷 | 欧美亚洲另类在线 | 国产精品视频久久久 | 久久男人| 国产一在线观看 | 欧美成人精品一区二区男人看 | 国产精品久久久久久吹潮 | 亚洲免费观看视频网站 | 日本不卡一区二区三区在线观看 | 污污免费网站 |