首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >使用AsyncFileUpload控件上载并存储文件

使用AsyncFileUpload控件上载并存储文件
EN

Stack Overflow用户
提问于 2011-07-26 16:32:03
回答 2查看 7.2K关注 0票数 1

我正在做一个项目:

代码语言:javascript
复制
Front end - Visual Studio 2010

Technology : C#

Back end - Sql Server 2005

我正在尝试使用图像控件上传文件并将其存储到“~/ AsyncFileUpload /”文件夹中。

脚本:

代码语言:javascript
复制
<asp:UpdatePanel ID="UpdatePanel1" runat="server">
    <ContentTemplate>
        <asp:ScriptManager ID="ScriptManager1" runat="server">
        </asp:ScriptManager>
        <asp:AsyncFileUpload ID="AsyncFileUpload1" runat="server" 
            onuploadedcomplete="AsyncFileUpload1_UploadedComplete"/>
    </ContentTemplate>

代码隐藏:

代码语言:javascript
复制
protected void AsyncFileUpload1_UploadedComplete(object sender, AjaxControlToolkit.AsyncFileUploadEventArgs e)
{
    if (AsyncFileUpload1.HasFile)
    {
        AsyncFileUpload1.SaveAs("~/Image/" + AsyncFileUpload1.FileName);
        Label2.Text = "Recieved " + AsyncFileUpload1.FileName + " Content Type" + AsyncFileUpload1.PostedFile.ContentType;
    }
}

但每次它显示运行时错误时调用:

代码语言:javascript
复制
The SaveAs method is configured to require a rooted path, and the path '~\Image\Filename.jpg' is not rooted.

我可以知道错误和解决方法吗?

提前谢谢你,

尼基尔

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2011-09-14 22:27:38

我想通了:

代码语言:javascript
复制
table width="100%" style="font: 8pt verdana">
                <tr width="100%">
                <td width="40%">
                    <asp:FileUpload ID="FileUpload1" runat="server" />
                    <asp:HiddenField ID="HiddenField1" runat="server" />
                </td>
                <td width="40%"><asp:Label ID="lblPicStatus" runat="server"></asp:Label></td>
                <td>
                <asp:Button ID="Button2" runat="server" Text="Upload" BackColor="White" 
                        BorderColor="#507CD1" BorderStyle="Solid" BorderWidth="1px" 
                        onclick="Button2_Click"/></td>
                </tr>
</table>

代码隐藏,

代码语言:javascript
复制
protected void Button2_Click(object sender, EventArgs e)
{

    try
    {
        con.Open();
        if (FileUpload1.HasFile)
        {
            String fileExt = Path.GetExtension(FileUpload1.FileName);
            if (fileExt == ".jpg" || fileExt == ".gif" || fileExt == ".bmp" || fileExt == ".jpeg" || fileExt == ".png")
            {
                String path = "~/Image/" + FileUpload1.FileName;
                cmd.CommandText = "update " + HttpContext.Current.User.Identity.Name + " set image = '" + path + "'";
                cmd.Connection = con;
                cmd.ExecuteNonQuery();
                FileUpload1.SaveAs(Server.MapPath("~/Image/") + FileUpload1.FileName);
                Response.Redirect(Request.RawUrl);
            }
            else
            {
                lblPicStatus.Text = "File to be uploaded is not an image";
            }
            con.Close();
        }
    }

    catch (Exception a)
    {
        Response.Write(a.Message);
    }
}
票数 0
EN

Stack Overflow用户

发布于 2013-02-04 15:18:44

代码语言:javascript
复制
 String path = "~/Image/" + FileUpload1.FileName;

应该是这样的:

代码语言:javascript
复制
 String path = Server.MapPath("~/Image/") + FileUpload1.FileName;
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/6827283

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档