获取图像文件夹的路径

Posted

技术标签:

【中文标题】获取图像文件夹的路径【英文标题】:Get Path to images folder 【发布时间】:2012-04-29 14:59:56 【问题描述】:

我正在尝试使用asp:FileUpload 将图片上传到一个文件夹(位于我的项目文件夹中)。

单击按钮时出现此错误:

SaveAs 方法配置为需要有根路径,而路径 'localhost:49256/bilder' 没有根。

这是我的代码:

protected void ladda_Click(object sender, EventArgs e)

    string filename = filuppladdare.FileName;
    string description = desc.Text;

    if (filuppladdare.HasFile)
    
        filuppladdare.PostedFile.SaveAs(\localhost:21212\pictures");
    

我只猜到了路径。应该是什么?或者如何获得?

【问题讨论】:

The SaveAs method is configured to require a rooted path, and the path '~\\images\\594083964.jpg' is not rooted 的可能重复项 另一个可能的重复:***.com/questions/1206662/… 【参考方案1】:

使用MapPath方法获取文件夹的物理路径:

filuppladdare.PostedFile.SaveAs(Server.MapPath("~/pictures"));

路径中的~ 代表应用程序根目录。

【讨论】:

Server.MapPath 文档:msdn.microsoft.com/en-us/library/ms524632%28v=vs.90%29.aspx 似乎工作,但现在我得到“访问路径 'thecorrectpathon my disk...\visual studio 2010\Projects\labb6\labb6\bilder' 被拒绝。”相反,在尝试上传时。所以路径似乎是正确的 @guffa 见上文 :) (我必须写@你的用户名才能看到我的问题吗?) @tobbe:是的,您需要为运行代码的用户帐户授予对文件夹的写入权限。当您在没有 @ 的情况下评论我的答案时,我会收到通知,但这是一个论坛,而不是聊天,因此您可能需要一段时间才能得到答案。 :) 哦,呵呵,对不起。不知道它是如何工作的。但现在我知道了,谢谢!【参考方案2】:

要使用的路径是指您服务器上的physical path(或另一个可访问的 FS 路径),而不是您网站的 url。

如果你想从 url 获取物理路径,你应该使用Server.MapPath(yourUrl)

【讨论】:

似乎工作,但现在我得到“访问路径 'thecorrectpathon my disk...\visual studio 2010\Projects\labb6\labb6\bilder' 被拒绝。”相反,在尝试上传时。知道如何解决这个问题吗? 检查您的文件夹安全属性,并检查该网站是否在可以正确访问 FS 的应用程序池中运行,并且运行 IIS 进程的用户也可以访问...请参见此处: ***.com/questions/5437723/…【参考方案3】:

试试这个

filuppladdare.PostedFile.SaveAs("~/Project name/.../pictures");

【讨论】:

【参考方案4】:

获取当前路径有多种方法,this link 向您展示了如何使用 HttpContext 中的各种属性来查找路径:

在您的示例中,您可以使用以下内容:

filuppladdare.PostedFile.SaveAs("~\pictures");

~ 告诉它从应用程序的根目录开始。

你也可以使用Server.MapPath

【讨论】:

【参考方案5】:

一种选择是使用服务器 MapPath,然后检查文件夹权限可能会有所帮助

【讨论】:

以上是关于获取图像文件夹的路径的主要内容,如果未能解决你的问题,请参考以下文章

获取图像文件夹的路径

使用 PHP 获取图像文件路径并以 HTML 显示

在Android上获取图像的文件路径

在 XCAssets iOS App 中获取图像文件的路径

Gatsby 从数据中获取具有相对路径的图像文件夹

如何获取图像objective-C的路径