上传的文件格式已更改

Uploaded file format changed

我正在使用 telerik 控件上传照片并将其存储在我项目的文件夹中。

我写了上传图片的代码,存放在'images'文件夹中 它有效,但它改变了上传文件的格式。它没有放入图像,而是将 png/jpg 照片作为 Telerik.Web.UI.AsyncUploadedFile

这是我的 aspx 页面

    <asp:Label ID="PhotoLabel" runat="server" Text="Upload a photo"></asp:Label>
    <telerik:RadAsyncUpload RenderMode="Lightweight" runat="server" ManualUpload="false"  ID="AsyncUpload1" MultipleFileSelection="Disabled" OnFileUploaded="AsyncUpload1_FileUploaded"></telerik:RadAsyncUpload>
    <telerik:RadButton runat="server" Text="Sibmit new photos" OnClick="UploadFiles_Click"></telerik:RadButton>
    <asp:Label ID="error" runat="server" Text="" Visible="false"></asp:Label>

还有我背后的代码

protected void UploadFiles_Click(object sender, EventArgs e)
{
    try
    {
        if(AsyncUpload1.UploadedFiles.Count > 0)
        {
            foreach (UploadedFile file in AsyncUpload1.UploadedFiles)
            {
                string targetFolder = HttpContext.Current.Server.MapPath("~/images");
                string targetPath = Path.Combine(targetFolder, file.ToString());

                file.SaveAs(targetPath);    
            }
            error.Text = "File Uploaded";
            error.Visible = true;

        }
        else
        {
            error.Text = "no files to upload";
            error.Visible = true;
            return;
        }
    }
    catch(Exception ex)
    {
        error.Text = ex.ToString();
        error.Visible = true;
    }
}

编辑:好的,所以我想出了我的问题是什么以及如何解决它。我改了一行代码

string targetPath = Path.Combine(targetFolder, file.GetName());

它奏效了。我希望这对其他人有帮助。

改变

string targetPath = Path.Combine(targetFolder, file.ToString());

string targetPath = Path.Combine(targetFolder, file.GetName());

解决了我的问题。