C# 获取使用ajax AsyncFileUpload保存的文件的新文件名?
我使用ajax工具包中的asyncfileupload ajax插件保存一个文件,并且在保存时更改文件名(以避免使用相同名称的多个文件) 上传文件后,用户需要知道文件的名称,因此我在onclientuploadcomplete事件中使用此javascript代码C# 获取使用ajax AsyncFileUpload保存的文件的新文件名?,c#,asp.net,ajax,asyncfileupload,C#,Asp.net,Ajax,Asyncfileupload,我使用ajax工具包中的asyncfileupload ajax插件保存一个文件,并且在保存时更改文件名(以避免使用相同名称的多个文件) 上传文件后,用户需要知道文件的名称,因此我在onclientuploadcomplete事件中使用此javascript代码 function UploadComplete(sender, args) { alert(args.get_fileName()); } 这是有效的,除非它获取旧名称,而不是新名称(由服务器端确定)。有没有办法让它返回新名称
function UploadComplete(sender, args) {
alert(args.get_fileName());
}
这是有效的,除非它获取旧名称,而不是新名称(由服务器端确定)。有没有办法让它返回新名称而不是旧名称?或者为实现这一目标而采取的任何措施
这是我在“获取新文件名”后面的代码中的代码:
string filename = DateTime.Now.ToString("dMyHmsf") + e.filename;
string strPath = MapPath("~/SavedImages/") + filename;
AsyncFileUpload1.SaveAs(strPath);
将文件名写入codebehind中的hiddenfield,然后在客户端代码中读取该值如何?我从中得到的答案对我来说很有用 从那里复制了代码:
<asp:ToolkitScriptManager runat="server">
</asp:ToolkitScriptManager>
<!--This script snippet must be located below the ScriptManager-->
<script type="text/javascript">
Sys.Extended.UI.AsyncFileUpload.prototype.newFileName = null; //I did not use this line
function uploadcomplete(sender, e) {
alert(sender.newFileName);
}
</script>
<asp:AsyncFileUpload ID="AsyncFileUpload1" OnClientUploadComplete="uploadcomplete"
runat="server" OnUploadedComplete="AsyncFileUpload1_UploadedComplete1" />
好主意,但这不需要回邮吗?
protected void AsyncFileUpload1_UploadedComplete1(object sender, AjaxControlToolkit.AsyncFileUploadEventArgs e)
{
ScriptManager.RegisterClientScriptBlock(this,
this.GetType(), "newfile",
"window.parent.$find('" + AsyncFileUpload1.ClientID + "').newFileName='newfile.jpg';", true);
}