我正在使用AsyncFileUpload上传图像,它运行良好,但我想向用户显示他刚刚上传的图像,但我有麻烦使这项工作。
我尝试过接收sender和args参数的OnClientUploadComplete事件,但是第二个参数只有文件名(没有相对url),lenght,而不是保存在服务器上后的文件名。
我也试过ScriptManager.RegisterClientScriptBlock并调用我自己的函数来传递url,但由于某种原因我不能用jquery选择img控件,好像代码的和平正在页面的另一个实例中执行......不确定。
如果有人有解决方案或建议,请接受我的回答。
提前致谢。
答案 0 :(得分:0)
将相同的AsyncFileUpload控件放在不可见的div中 要么 将以下属性添加到页面标记中:
enctype="multipart/form-data" method="post"
答案 1 :(得分:0)
脚本在iframe内执行,你应该使用top.getElementById()
找到控件答案 2 :(得分:0)
当我必须在服务器端上传/保存文件时生成新文件名时,我遇到了同样的问题。 我要解决的问题是将新生成的文件名保存到客户端可以访问它的服务器端存储中,页面的视图状态不起作用,因此您可以使用具有密钥名称的Session,如CustomerID。
然后从客户端获取生成的文件名,您可以使用回调到同一个Session并获取文件名,然后将其应用到图像控件
$('image').attr('src','displayimage.aspx?fileName=' + filename);
获取图像文件流并显示它。 有点棘手,但它确实有效。