最新文章专题视频专题问答1问答10问答100问答1000问答2000关键字专题1关键字专题50关键字专题500关键字专题1500TAG最新视频文章推荐1 推荐3 推荐5 推荐7 推荐9 推荐11 推荐13 推荐15 推荐17 推荐19 推荐21 推荐23 推荐25 推荐27 推荐29 推荐31 推荐33 推荐35 推荐37视频文章20视频文章30视频文章40视频文章50视频文章60 视频文章70视频文章80视频文章90视频文章100视频文章120视频文章140 视频2关键字专题关键字专题tag2tag3文章专题文章专题2文章索引1文章索引2文章索引3文章索引4文章索引5123456789101112131415文章专题3
问答文章1 问答文章501 问答文章1001 问答文章1501 问答文章2001 问答文章2501 问答文章3001 问答文章3501 问答文章4001 问答文章4501 问答文章5001 问答文章5501 问答文章6001 问答文章6501 问答文章7001 问答文章7501 问答文章8001 问答文章8501 问答文章9001 问答文章9501
当前位置: 首页 - 科技 - 知识百科 - 正文

SilverLight下载任意文件技巧

来源:懂视网 责编:小采 时间:2020-11-09 16:03:30
文档

SilverLight下载任意文件技巧

SilverLight下载任意文件技巧:xaml采用LinkButton 其NavigateUri属性链接到服务端下载的ashx文档 如 HyperlinkButton Margin=32,135,198,140 Content=HyperlinkButton NavigateUri=http://localhost:1399/download.ashx / down
推荐度:
导读SilverLight下载任意文件技巧:xaml采用LinkButton 其NavigateUri属性链接到服务端下载的ashx文档 如 HyperlinkButton Margin=32,135,198,140 Content=HyperlinkButton NavigateUri=http://localhost:1399/download.ashx / down

xaml采用LinkButton 其NavigateUri属性链接到服务端下载的ashx文档 如 HyperlinkButton Margin="32,135,198,140" Content="HyperlinkButton" NavigateUri="http://localhost:1399/download.ashx" / download.ashx 如下 Code 1 Imports System.Web 2 Imports

xaml采用LinkButton 其NavigateUri属性链接到服务端下载的ashx文档

download.ashx如下

Code
1Imports System.Web
2Imports System.Web.Services
3Imports System.Net
4Public Class downloadClass download
5 Implements System.Web.IHttpHandler
6
7 Private ChunkSize As Long = 102400 '100K 每次读取文件,只读取100K,这样可以缓解服务器的压力
8
9 Sub ProcessRequest()Sub ProcessRequest(ByVal context As HttpContext) Implements IHttpHandler.ProcessRequest
10 Dim fileName As String = "aaa.JPG" '客户端保存的文件名
11 Dim filePath As String = context.Server.MapPath("image/IMG_1370.JPG") '路径
12
13 Dim fileInfo As System.IO.FileInfo = New System.IO.FileInfo(filePath)
14
15 If fileInfo.Exists = True Then
16
17 Dim buffer(ChunkSize) As Byte
18
19 context.Response.Clear()
20 Dim iStream As System.IO.FileStream = System.IO.File.OpenRead(filePath)
21 Dim dataLengthToRead As Long = iStream.Length '获取下载的文件总大小
22
23 context.Response.ContentType = "application/octet-stream"
24 '通知浏览器下载文件而不是打开
25 context.Response.AddHeader("Content-Disposition", "attachment; filename=" & _
26 HttpUtility.UrlEncode(fileName, System.Text.Encoding.UTF8))
27Loop1:
28 While dataLengthToRead > 0 And context.Response.IsClientConnected
29 Dim lengthRead As Integer = iStream.Read(buffer, 0, Convert.ToInt32(ChunkSize)) '读取的大小
30 context.Response.OutputStream.Write(buffer, 0, lengthRead)
31 context.Response.Flush()
32 dataLengthToRead = dataLengthToRead - lengthRead
33 End While
34
35 context.Response.Close()
36 context.Response.End()
37 End If
38
39 'context.Response.ContentType = "text/plain"
40 'context.Response.Write("Hello World!")
41
42 End Sub
43
44 ReadOnly Property IsReusable()Property IsReusable() As Boolean Implements IHttpHandler.IsReusable
45 Get
46 Return False
47 End Get
48 End Property
49
50End Class

声明:本网页内容旨在传播知识,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。TEL:177 7030 7066 E-MAIL:11247931@qq.com

文档

SilverLight下载任意文件技巧

SilverLight下载任意文件技巧:xaml采用LinkButton 其NavigateUri属性链接到服务端下载的ashx文档 如 HyperlinkButton Margin=32,135,198,140 Content=HyperlinkButton NavigateUri=http://localhost:1399/download.ashx / down
推荐度:
标签: 下载 文件 技巧
  • 热门焦点

最新推荐

猜你喜欢

热门推荐

专题
Top