2

当文件上传在更新面板下时如何上传图像?

我在该更新面板中有一个按钮说“上传”。

当我在按钮单击事件中单击该按钮时,我得到了 fileupload hasfile=false。当文件上传控件在更新面板内并且按钮正在进行异步回发时,请建议是否有任何方法可以上传图像文件。

提前致谢。

4

4 回答 4

1

这不可能。出于安全原因,浏览器不允许 javascript 上传文件。

此问题有两种正常的解决方法:

  • 在 iFrame 中执行上传
  • 使用 Flash 插件上传

我最近应用这个工具在我的网页中异步上传文件,它工作得很好:http: //valums.com/ajax-upload/ 它会自动为您创建一个 iFrame,并发布框架并发送结果 html (或 json 对象)到事件处理程序。我的页面接收上传的文件,返回一个描述文件的 json 对象,例如文件名和唯一的 id,以便我可以将发布在主页上的数据链接到上传的文件。

为了安全起见,我存储了上传文件的用户的凭据,因此当表单发布时,我可以验证发布表单的用户确实是上传文件的用户。

于 2009-10-20T09:13:24.463 回答
1

你可以使用 AJAX AsyncFileUpload 控件

http://www.asp.net/AJAX/AjaxControlToolkit/Samples/AsyncFileUpload/AsyncFileUpload.aspx

还要检查这个线程。 在没有完整回发的 AJAX 更新面板中上传文件

于 2009-10-20T06:04:05.557 回答
0

我试过如下。这是工作。

<asp:UpdatePanel ID="UpdatePanel1" runat="server" UpdateMode="conditional">
<ContentTemplate>
<asp:FileUpload ID="FileUpload1" runat="server" />
<asp:Button ID="Upload" runat="server" Text="Upload" OnClick="Upload_Click" /><br />
<asp:Image ID="NormalImage" runat="server" /></ContentTemplate>
<Triggers>
<asp:PostBackTrigger ControlID="Upload" />
</Triggers>
</asp:UpdatePanel>

参考

http://www.c-sharpcorner.com/uploadfile/prathore/fileupload-control-in-update-panel-using-Asp-Net-ajax/

于 2012-10-09T07:36:35.883 回答
0

你可以试试这段代码。我试过了,它对我有用。

<asp:ScriptManager runat="server" />
<asp:UpdatePanel ID="UpdatePanel1" runat="server" >
<ContentTemplate>
<div>
<asp:FileUpload ID="FileUpload1" runat="server" /> <br/>
<asp:Button ID="btn_Upload" runat="server" Text="Save" OnClick="btn_Upload_Click" /><br />
</div>
</ContentTemplate>
<Triggers>
<asp:PostBackTrigger ControlID="btn_Upload" />
</Triggers>
</asp:UpdatePanel>
于 2018-09-01T07:13:36.667 回答