上传的文件格式已更改
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());
解决了我的问题。
我正在使用 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());
解决了我的问题。