文件名是从Fileuploader获取的

时间:2018-12-20 05:29:33

标签: c# asp.net

文件名不是从fileuploader获取的。我从fileuploader上传图像并将该图像加载到一个盒子中,此时它可以正常工作。但是当我尝试保存它时,我没有从fileuploader获得该文件名

<div class="box box-right" style="width:19%">                          
    <div>
     <asp:Image  ID="Avatar" runat="server" Height="157px"  Width="177px"    /> 
    </div>
    <div class="button">
     <asp:FileUpload ID="FileUpload1" style="width:169px" onchange="previewFile()" runat="server" />
    </div>
</div>

在aspx页面中:

fileName = FileUpload1.FileName;

if (FileUpload1.HasFile)
{
    fileName = FileUpload1.FileName;
    string fileName1 = Path.GetFileName(FileUpload1.PostedFile.FileName);
    newfile = "images/" + fileName;
    FileUpload1.PostedFile.SaveAs(Server.MapPath("~/images/") + strname);
}

2 个答案:

答案 0 :(得分:0)

您尚未提供要获取的异常或错误,而是说not Using Update Panel

然后您可以在c#中这样做

aspx

<form id="form1" runat="server">
    <asp:FileUpload id="FileUpload1" runat="server" />
    <asp:Button runat="server" id="UploadButton" text="Upload" onclick="UploadButton_Click" />       
</form>

在您后面的代码中

protected void UploadButton_Click(object sender, EventArgs e)
{
    if(FileUpload1.HasFile)
    {
        try
        {
            string filename = Path.GetFileName(FileUpload1.FileName);
            FileUploadControl.SaveAs(Server.MapPath("~/") + filename);               
        }
        catch(Exception ex)
        {

        }
    }
}

或通过javascript这样

var fileName = document.getElementById("<%= FileUpload1.ClientID %>");

var fileName = document.getElementById("FileUpload1").value;

答案 1 :(得分:0)

FileUpload1.PostedFile.SaveAs(Server.MapPath(“〜/ images /”)+ strname);

您使用了这一行,并使用“ strname”保存了文件,现在我在代码中的任何地方都看不到strname的值。

您有这个

fileName = FileUpload1.FileName;
    string fileName1 = Path.GetFileName(FileUpload1.PostedFile.FileName);

所以你不应该使用

FileUpload1.PostedFile.SaveAs(Server.MapPath("~/images/") + fileName );