我正在一个项目中,我必须上载.txt
个文件。我正在使用asp.net FileUpload。这是一段代码:
<div class="custom-file">
<asp:FileUpload ID="inputFileTXT" CssClass="custom-file-input" runat="server" />
<label id="lblFileName" runat="server" class="custom-file-label" for="inputFileTXT">Elegir archivo</label>
</div>``
我正在使用MDBootstrap中的样式。
问题是,当用户单击asp:fileUpload
元素并选择文件时,我想做的事情不单击按钮。我一直在搜索,但没有找到如何动态检测此操作的方法。 asp:fileUpload
没有诸如OnUploading
之类的事件。
PD:我尝试使用UpdatePanel,但是当它进行回发时,似乎上载的文件消失了。也许是这样,但我无法使它起作用。
答案 0 :(得分:0)
您只想使用change
事件来检测何时将文件分配给上传。
jQuery解决方案:
$('#inputFileTXT').on('change', function(){
//do stuff
});
javascript解决方案:
<asp:FileUpload ID="inputFileTXT" CssClass="custom-file-input" runat="server" onchange="doStuff(this);" />
function doStuff(control){
//do stuff
}
然后您可以使用FileReader api
(https://developer.mozilla.org/en-US/docs/Web/API/FileReader)来读取文件。
并使用.files
访问文件:
var files = $('#inputFileTxt').files;
答案 1 :(得分:0)
您可以在页面上添加一个虚拟的LinkButton并将其保留为空,但是给它一个UserDefaults
,您可以在其中处理文件。
OnClick
然后在后面的代码中将<asp:FileUpload ID="FileUpload1" runat="server" accept="image/*" />
<asp:LinkButton ID="LinkButton1" runat="server" OnClick="LinkButton1_Click"></asp:LinkButton>
触发器添加到FileUpload控件,该控件将执行LinkButton1的PostBack。
onchange
PS不会在UpdatePanel中放置FileUpload控件。
答案 2 :(得分:0)
请查看this链接
您应该在FileUpload1
中获得文件详细信息(以您的情况为fileUpload控件ID:inputFileTXT)。