ASP.net中的FileUpload控件如何获取已选文件的路径?

ZHRXJR 2018-02-16 03:56:53
ASP.net中的FileUpload控件如何获取已选文件的路径?
好像在vb6中可以使用 CommonDialog1.FileName 获取文件名 + 扩展名与路径,使用 CommonDialog1.FileTitle 仅仅可以获取文件名与扩展名
在ASP.net中的FileUpload控件如何获取已选文件可以使用 FileUpload1.FileName 获取文件名与扩展名
但在ASP.net中的FileUpload控件怎么获取文件名 + 扩展名与路径,或 纯路径?
希望知道的高手帮忙!谢了!
如果解决,可以RMB酬谢!
...全文
1082 25 打赏 收藏 转发到动态 举报
写回复
用AI写文章
25 条回复
切换为时间正序
请发表友善的回复…
发表回复
ZHRXJR 2018-02-19
  • 打赏
  • 举报
回复
选择文件后是
点击按钮后变成
ZHRXJR 2018-02-19
  • 打赏
  • 举报
回复
秋的红果实:

    Protected Sub Page_Load(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.Load
        '其他代码没有问题
        If Page.IsPostBack = True Then
            '这里的代码怎么写?
        Else
            '这里的代码怎么写?
        End If
    End Sub

    Protected Sub Button1_Click(ByVal sender As Object, ByVal e As EventArgs) Handles Button1.Click
        Dim fileThepath As String, UploadURL As String,WJ1 As String ,WJ2 As String
        fileName = FileUpload1.FileName        '获取要上传的文件的文件名。        'fileName 是模块级变量
        fileThepath = FileUpload1.PostedFile.FileName      '获取文件所在目录,但实际是文件名+扩展名
        UploadURL = Server.MapPath("~\Docx\")    '设置上传的目录,
	WJ1 = TextBox1.Text   '文件名存储变量
	WJ2 = TextBox2.Text	'文件扩展名变量
	'之后将fileName文件拷贝到服务器的目录中,拷贝文件就是找不到fileName文件
	'之后存储在数据表中的三个字段中:文件名字段、扩展名字段、文件字段,分别存储 WJ1、WJ2、fileName的数据,这个没有问题了。
    End Sub
关键代码给你了,麻烦你给我指导那里的问题,再次谢谢!
秋的红果实 2018-02-19
  • 打赏
  • 举报
回复
button代码还是按照原来写, 你的是vb.net 在Page_Load中,这样写

if Page.IsPostBack then
    return
end if

我没看到你的源代码,我也是猜测,你先试一试,看行不行,不行的话,贴出你的源代码
ZHRXJR 2018-02-19
  • 打赏
  • 举报
回复
引用 15 楼 From_TaiWan 的回复:
在Page_Load里面加入如下代码 protected void Page_Load(object sender, EventArgs e) { if(Page.IsPostBack) { return; } //............ }
您的这个代码不太理解,其作用是什么,在IF中需要什么代码,与Button按钮的关系是什么?我的后台是 Page Language="vb"
ZHRXJR 2018-02-19
  • 打赏
  • 举报
回复
秋的红果实: 感谢您的回复! 我是刚刚在自学,没有师傅,不要见笑哦! 这个功能是管理员后台管理的,需要上传客户端的文件到服务器的某个目录中。 在界面使用FileUpload控件选择了客户端硬盘的文件,比如H:/ABCD/EF目录中的1234.doc文件,上传到服务器的DCC目录中,其中还有其他的TextBox控件一起上传。 问题是在点击Button按钮后FileUpload控件中的文件名就丢失了,因此我首先就FileUpload控件中的文件名存储在一个变量中,再进行上传。 问题出来了,提示找不到文件!因此我才考虑是不是客户端的上传文件没有路径的问题。 麻烦您,根据我描述的问题给一个解决方案,十分感谢!
秋的红果实 2018-02-19
  • 打赏
  • 举报
回复
在Page_Load里面加入如下代码 protected void Page_Load(object sender, EventArgs e) { if(Page.IsPostBack) { return; } //............ }
ZHRXJR 2018-02-19
  • 打赏
  • 举报
回复
sp1234 : 感谢您的回复! 我是刚刚在自学,没有师傅,不要见笑哦! 这个功能是管理员后台管理的,需要上传客户端的文件到服务器的某个目录中。 在界面使用FileUpload控件选择了客户端硬盘的文件,比如H:/ABCD/EF目录中的1234.doc文件,上传到服务器的DCC目录中,其中还有其他的TextBox控件一起上传。 问题是在点击Button按钮后FileUpload控件中的文件名就丢失了,因此我首先就FileUpload控件中的文件名存储在一个变量中,再进行上传。 问题出来了,提示找不到文件!因此我才考虑是不是客户端的上传文件没有路径的问题。 麻烦您,根据我描述的问题给一个解决方案,十分感谢!
秋的红果实 2018-02-19
  • 打赏
  • 举报
回复
要知道,你在浏览器看到的路径,是客户端的路径,文件到了服务器后,保存到服务器的哪个目录,那是后台代码的事,和当前选择的这个路径毫无关系 你说的VB6.0,应该是单机版的桌面系统吧,和这个不一样的 选择上传文件和最终保存文件,分别是在“两台计算机”上完成的,请参阅http://blog.csdn.net/ydm19891101/article/details/50820569
秋的红果实 2018-02-19
  • 打赏
  • 举报
回复
用FileUpload,不是想上传文件到后台吗 那么选择文件后,提交,系统会自动找到那个文件,并上传。这些都由系统自动完成,无需你干预。你无需知道路径! 非要看到路径,可以按照我#8 的方法,应该可以 但是,你开发的系统,是要给客户使用的,让客户去设置什么,这好像有些不友好
ZHRXJR 2018-02-19
  • 打赏
  • 举报
回复
请说主题,我是刚刚在自学,没有师傅,不要见笑哦! 那么如果不获取路径,应该怎么办,本人特别笨,请讲的清楚一点!谢谢了!
秋的红果实 2018-02-19
  • 打赏
  • 举报
回复
你没写保存到服务器的代码,按照我给你写的修改

Protected Sub Button1_Click(sender As Object, e As EventArgs) Handles Button1.Click
    Dim fileThepath As String, UploadURL As String, WJ1 As String, WJ2 As String, fileName As String
    fileName = FileUpload1.FileName        '获取要上传的文件的文件名。        'fileName 是模块级变量
    'fileThepath = FileUpload1.PostedFile.FileName      '获取文件所在目录,但实际是文件名+扩展名
    UploadURL = Server.MapPath("~\Docx\")    '设置上传的目录,

    '浏览器设置不同,fileName有可能带路径,如C:\ABC\123.JPG,但我们只需要123.jpg,下面代码去掉路径
    Dim start As Integer
    start = fileName.LastIndexOf("\")
    fileName = fileName.Substring(start + 1)

    FileUpload1.SaveAs(UploadURL + fileName)
    ScriptManager.RegisterStartupScript(Me, Me.GetType(), "skfjdkfj", "alert('保存成功')", True)

End Sub

秋的红果实 2018-02-19
  • 打赏
  • 举报
回复
我给你写呢,你到结帖了
ZHRXJR 2018-02-19
  • 打赏
  • 举报
回复
还是自己慢慢琢磨吧,估计也就是一二个语句的问题,回复均没有提到我需要的,只能结贴了。
  • 打赏
  • 举报
回复
引用 19 楼 u013249970 的回复:
秋的红果实:

    Protected Sub Page_Load(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.Load
        '其他代码没有问题
        If Page.IsPostBack = True Then
            '这里的代码怎么写?
        Else
            '这里的代码怎么写?
        End If
    End Sub

    Protected Sub Button1_Click(ByVal sender As Object, ByVal e As EventArgs) Handles Button1.Click
        Dim fileThepath As String, UploadURL As String,WJ1 As String ,WJ2 As String
        fileName = FileUpload1.FileName        '获取要上传的文件的文件名。        'fileName 是模块级变量
        fileThepath = FileUpload1.PostedFile.FileName      '获取文件所在目录,但实际是文件名+扩展名
        UploadURL = Server.MapPath("~\Docx\")    '设置上传的目录,
	WJ1 = TextBox1.Text   '文件名存储变量
	WJ2 = TextBox2.Text	'文件扩展名变量
	'之后将fileName文件拷贝到服务器的目录中,拷贝文件就是找不到fileName文件
	'之后存储在数据表中的三个字段中:文件名字段、扩展名字段、文件字段,分别存储 WJ1、WJ2、fileName的数据,这个没有问题了。
    End Sub
关键代码给你了,麻烦你给我指导那里的问题,再次谢谢!
一直到这里,你有没有半点按照 FilUpload 控件的正规教程来读取上传文件内容并且保存(到目标目录下)的真正行为啊?其实基本的编程的机制都已经反复告诉你3、4 编了。
  • 打赏
  • 举报
回复
引用 11 楼 u013249970 的回复:
请说主题,我是刚刚在自学,没有师傅,不要见笑哦! 那么如果不获取路径,应该怎么办,本人特别笨,请讲的清楚一点!谢谢了!
按照正规 asp.net 教程学习 UploadFile 控件使用。不要看不起正规教程,要花几十块钱买教程学习啊!!
ZHRXJR 2018-02-17
  • 打赏
  • 举报
回复
引用 1 楼 From_TaiWan 的回复:

FileUpload1.PostedFile.FileName
与 FileUpload1.FileName 是一样的,仅仅是文件名+扩展名
ZHRXJR 2018-02-17
  • 打赏
  • 举报
回复
引用 3 楼 sp1234 的回复:
你在服务器上,获取服务器的路径还是客户端的路径?服务器获取客户端路径有什么意义呢?
是客户端的的路径,因为要上传这个文件到服务器,没有客户端路径找不到需要上传的文件。
  • 打赏
  • 举报
回复
你在服务器上,获取服务器的路径还是客户端的路径?服务器获取客户端路径有什么意义呢?
return false 2018-02-17
  • 打赏
  • 举报
回复
postfilename
  • 打赏
  • 举报
回复
引用 8 楼 From_TaiWan 的回复:
不知道你为什么非要这个路径
lz 他以为要用这个路径从服务器上去直接用本地文件读写语句来读写客户端文件。 这个 asp.net 编程概念不是正规学过的。
加载更多回复(4)

62,039

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术交流专区
javascript云原生 企业社区
社区管理员
  • ASP.NET
  • .Net开发者社区
  • R小R
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

.NET 社区是一个围绕开源 .NET 的开放、热情、创新、包容的技术社区。社区致力于为广大 .NET 爱好者提供一个良好的知识共享、协同互助的 .NET 技术交流环境。我们尊重不同意见,支持健康理性的辩论和互动,反对歧视和攻击。

希望和大家一起共同营造一个活跃、友好的社区氛围。

试试用AI创作助手写篇文章吧