asp.net 如何打开本地某个目录下的文件?

asp.net 如何打开本地某个目录下的文件?,第1张

那是不可能做到的。。。

你下载到本地还行,但不可能打开本地文件!!

你将最基本概念都搞错了,ASP.NET 运行在 服务器上,试想,服务器上的程序怎么打开你本地的文件?

如果可以的话,那你的电脑就不安全了,你想想,如果服务器上的程序能随便打开本地文件,那你还有什么隐私可言?

更何况,运行在服务器上的程序,怎么能打开本地文件?

本地是指服务器本地,还是客户端本地?

服务端用System.Diagnostics.Process.Start("exe文件")可以运行exe文件。

客户端就别想了,asp.net不管客户端的事,管客户端的js又没有执行文件的权限。

网上方法不少,可以尝试搜索一下。

第一种方法:

Response.ClearContent()

Response.ClearHeaders()

Response.ContentType = "Application/msword"

string s=Server.MapPath("E:/wendang/wo582.doc")

Response.WriteFile("E:/wendang/wo582.doc")

Response.Write(s)

Response.Flush()

Response.Close()

第二种方法:

Response.ClearContent()

Response.ClearHeaders()

Response.ContentType = "Application/msword"

string strFilePath=""

strFilePath =Server.MapPath("E:/wendang/wo582.doc")

FileStream fs = new FileStream(strFilePath,FileMode.OpenOrCreate,FileAccess.Read)

Response.WriteFile(strFilePath,0,fs.Length)

fs.Close()

第三种方法:

string path=Server.MapPath("E:/wendang/wo582.doc")

FileInfo file=new FileInfo(path)

FileStream myfileStream=new FileStream(path,FileMode.Open,FileAccess.Read)

byte[] filedata=new Byte[file.Length]

myfileStream.Read(filedata,0,(int)(file.Length))

myfileStream.Close()

Response.Clear()

Response.ContentType="application/msword"

Response.AddHeader("Content-Disposition","attachmentfilename=wo582.doc")

Response.Flush()

Response.BinaryWrite(filedata)

Response.End()


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/tougao/11858816.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-19
下一篇 2023-05-19

发表评论

登录后才能评论

评论列表(0条)

保存