十年网站开发经验 + 多家企业客户 + 靠谱的建站团队
量身定制 + 运营维护+专业推广+无忧售后,网站问题一站解决
下载,直接通过url读取文件,然后Response.OutputStream.Write()数据
在陇南等地区,都构建了全面的区域性战略布局,加强发展的系统性、市场前瞻性、产品创新能力,以专注、极致的服务理念,为客户提供成都网站设计、网站建设 网站设计制作按需定制制作,公司网站建设,企业网站建设,品牌网站建设,营销型网站,成都外贸网站制作,陇南网站建设费用合理。
下面提供个下载的静态方法,是C#的,供参考:
/// summary
/// 下载文件
/// /summary
/// param name="fileName"下载的文件名称(包括扩展名)/param
/// param name="filePath"下载文件的绝对路径/param
public static void DownFile(string fileName, string filePath)
{
//打开要下载的文件,并把该文件存放在FileStream中
System.IO.FileStream Reader = System.IO.File.OpenRead(filePath);
//文件传送的剩余字节数:初始值为文件的总大小
long Length = Reader.Length;
HttpContext.Current.Response.Buffer = false;
HttpContext.Current.Response.AddHeader("Connection", "Keep-Alive");
HttpContext.Current.Response.ContentType = "application/octet-stream";
HttpContext.Current.Response.Charset = "utf-8";
HttpContext.Current.Response.AddHeader("Content-Disposition", "attachment; filename=" + System.Web.HttpUtility.UrlEncode(fileName));
HttpContext.Current.Response.AddHeader("Content-Length", Length.ToString());
byte[] Buffer = new Byte[10000];//存放欲发送数据的缓冲区
int ByteToRead; //每次实际读取的字节数
while (Length 0)
{
//剩余字节数不为零,继续传送
if (HttpContext.Current.Response.IsClientConnected)
{
//客户端浏览器还打开着,继续传送
ByteToRead = Reader.Read(Buffer, 0, 10000); //往缓冲区读入数据
HttpContext.Current.Response.OutputStream.Write(Buffer, 0, ByteToRead);
//把缓冲区的数据写入客户端浏览器
HttpContext.Current.Response.Flush(); //立即写入客户端
Length -= ByteToRead;//剩余字节数减少 }
else
{
//客户端浏览器已经断开,阻止继续循环
Length = -1;
}
} //关闭该文件
Reader.Close();
}
QQ:121一九五五121
System.Environment.CurrentDirectory
这才是vb.net的获取程序运行路径的方法
System.Environment.CurrentDirectory;
//例: c:/test/
Application.ExecutablePath;(包括名称)
//例: c:/test/myapp.exe
Application.StartupPath;(不包括名称)
//例: c:/test/
绝对路径是直接到达目标位置,通常是从盘符开始的路径。完整的描述文件位置的路径就是绝对路径,以web站点根目录为参考基础的目录路径。
绝对路径名的指定是从树型目录结构顶部的根目录开始到某个目录或文件的路径,由一系列连续的目录组成,中间用斜线分隔,直到要指定的目录或文件,路径中的最后一个名称即为要指向的目录或文件。之所以称为绝对,意指当所有网页引用同一个文件时,所使用的路径都是一样的。
扩展资料
几种编程语言获取程序所在路径的方法:
1、在golang程序里面获取程序所在路径:
package main
import (
"path/filepath"
"os"
"fmt"
"log"
)
func main() {
execDir, err := filepath.Abs(filepath.Dir(os.Args[0]))
if err = nil {
log.Fatal(err)
}fmt.Println(execDir)
}
2、python脚本所在路径:
import os
print(os.path.split(os.path.realpath(__file__))[0])
3、shell脚本获取脚本的绝对路径:
DIR="$( cd "$( dirname "${BASH_SOURCE[0]}" )" pwd )"
Dim my_path() As String = System.IO.Directory.GetFiles("d:\", "文件名", IO.SearchOption.AllDirectories)
因为有可能在多个地方,所以进行了全盘搜索,歌曲的所有地址路径在数组my_path中
在VB 学习中,绝对路径就是指带有盘符的固定的路径,比如“c:\windows\systems\a.exe” 而相对路径则可用APP.PATH连接文件名来表示,比如:App.Path "\a.exe"
以vb学习中加载图片为例,这样就容易弄明白了。假设我们要在vb中加载一幅图片,假设我们把这个加载图片的程序保存在如下位置:"E:\aa-vbnew\加载图片讲解"而我们的图片在"D:\My Files\图画\tong.jpg"
那么情况如下:1,在代码中直接以绝对路径表示加载到form1中,如图所示:
显示结果如下:
2,换一种方式,以相对路径直接加载也可以。程序如图:
结果如上图。
下面分析如下:
第一种方式,我们使用的是图片的完整路径,就称之为绝对路径,也就是说不管我们的这个VB程序放到硬盘的任何位置,都完全可以显示出来这幅图片,因为图片的路径是绝对的,只要不改变图片的路径,那么就是绝对不变的。
第二种方式,我们使用的是图片的相对路径,相对于谁呢?是相对于我们的VB这个应用程序和这幅图片自身位置的。一旦我们的程序位置发生变化或者图片的位置发生改变,那么这个程序都不可以执行,不会显示这幅图片。所以说这就是相对路径,是以一个参考对象而存在的。