天天躁日日躁狠狠躁AV麻豆-天天躁人人躁人人躁狂躁-天天澡夜夜澡人人澡-天天影视香色欲综合网-国产成人女人在线视频观看-国产成人女人视频在线观看

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

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

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

鄭重聲明:本文版權(quán)歸原作者所有,轉(zhuǎn)載文章僅為傳播更多信息之目的,如作者信息標(biāo)記有誤,請(qǐng)第一時(shí)間聯(lián)系我們修改或刪除,多謝。

主站蜘蛛池模板: 怡春院欧美一区二区三区免费 | 麻豆高清区在线 | 囯产免费精品一品二区三区视频 | 伊人久久伊人 | 桥本有菜黑丝 | 国产午夜一区二区三区免费视频 | 伊人精品久久久大香线蕉99 | 巨爆乳中文字幕爆乳区 | 国产全肉乱妇杂乱视频 | 亚洲精品无码葡京AV天堂 | 久久久久激情免费观看 | 久久久精品免费免费直播 | 欧美丰满熟妇BBB久久久 | s8sp视频高清在线播放 | chinese东北老年tv视频 | 精品国产乱码久久久久久免费 | 中文字幕乱码亚洲无线三区 | 99er4久久视频精品首页 | 国产精品乱码色情一区二区视频 | 短篇合集纯肉高H深陷骚 | a在线观看视频 | 伊人久久精品线影院 | 国产精品久久久精品a级小说 | 久久草福利自拍视频在线观看 | 久久成人亚洲 | 色妺妺免费影院 | 国产精品久久人妻无码蜜 | 国产亚洲色婷婷久久精品99 | 99E久热只有精品8在线直播 | 3D漫画H精品啪啪无码 | 伊人久久中文字幕久久cm | a级毛片高清免费视频 | max girls 大感谢祭 | 精品国产午夜福利在线观看蜜月 | 嗯别插太快好深再深点 | 快播电影官方网站 | yellow日本动漫免费观看 | 欧美一区二区视频高清专区 | 白丝美女被狂躁免费漫画 | 久久视频这里只精品6国产 久久视频在线视频观品15 | 不卡一区二区高清观看视频 |