十年网站开发经验 + 多家企业客户 + 靠谱的建站团队
量身定制 + 运营维护+专业推广+无忧售后,网站问题一站解决
在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这个应用程序和这幅图片自身位置的。一旦我们的程序位置发生变化或者图片的位置发生改变,那么这个程序都不可以执行,不会显示这幅图片。所以说这就是相对路径,是以一个参考对象而存在的。
Dim my_path() As String = System.IO.Directory.GetFiles("d:\", "文件名", IO.SearchOption.AllDirectories)
因为有可能在多个地方,所以进行了全盘搜索,歌曲的所有地址路径在数组my_path中
下载,直接通过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的获取程序运行路径的方法