我在我的项目中使用这个Ajax 文件上传并且它工作正常,我唯一的问题是如何保存我刚刚上传的照片的路径?基本上,我尝试在成功上传后将路径复制到 TextBox 控件,并用更新面板包围该文本框,并在调用 Ajax 的 SaveAs 方法后手动更新该面板,但它似乎不起作用。
这是上载完成事件的代码:
protected void AsyncFileUpload1_UploadedComplete (object sender, AjaxControlToolkit.AsyncFileUploadEventArgs e)
{
System.Threading.Thread.Sleep(3000);
if (AsyncFileUpload1.HasFile)
{
var relativeFolder = DateTime.Now.Year.ToString(CultureInfo.InvariantCulture) + Path.DirectorySeparatorChar + DateTime.Now.Month +
Path.DirectorySeparatorChar;
relativeFolder = relativeFolder.Replace('\\', '/');
var folder = Utils.RelativeWebRoot + "PostPhotos/" + relativeFolder;
var fileName = Path.GetFileName(e.FileName);
AsyncFileUpload1.SaveAs(Server.MapPath(folder + fileName));
txtPostPhoto.Text = folder + fileName;
PostImage.ImageUrl = txtPostPhoto.Text;
PostPhotoUpdatePanel.Update();
}
}
txtPostPhoto 是我的文本框。
PostImage 是我试图显示图像预览的地方。
还有另一种方法吗?