"代替 asp :FileUpload-6ren"> "代替 asp :FileUpload-我正在修改现有的 ASP.NET 项目。原作者错误地尝试通过将其可见性设置为隐藏并仅创建两个自定义样式的浏览和保存按钮来创建样式化的 asp:FileUpload。 出于安全原因,IE 不允许这样做。-6ren">
gpt4 book ai didi

c# - 使用 "<input type="文件"..../>"代替 asp :FileUpload

转载 作者:太空狗 更新时间:2023-10-29 13:59:10 25 4
gpt4 key购买 nike

我正在修改现有的 ASP.NET 项目。原作者错误地尝试通过将其可见性设置为隐藏并仅创建两个自定义样式的浏览和保存按钮来创建样式化的 asp:FileUpload。

出于安全原因,IE 不允许这样做。我的策略是尝试使用 type="file"的输入标签,比如 this example .因此,如果我将输入设置为 <input type="file" ID="inputFile" />我如何在我的代码后面访问/保存文件,inputFile.SaveAs("someFile.txt"); ?另外(在后面的代码中)我可以做类似 inputFile.HasFile 的事情吗?还是有其他类似的东西?

根据建议,我正在尝试以下操作:

             <td>
Enabled: <asp:CheckBox ID="CheckBox2" runat="server" /> &nbsp;&nbsp;
<div id="testFileUploader">>
<input type="file" id="browserHidden" runat="server" />
<div id="browserVisible"><input type="text" id="fileField" /></div>
</div>
</td>

最佳答案

因此,您可以根据 GUID 为以后的上传生成一个随机文件名。在 CodeBehind ASPX 页面:

HttpPostedFile filePosted = Request.Files["uploadFieldNameFromHTML"];

if (filePosted != null && filePosted.ContentLength > 0)
{
string fileNameApplication = System.IO.Path.GetFileName(filePosted.FileName);
string fileExtensionApplication = System.IO.Path.GetExtension(fileNameApplication);

// generating a random guid for a new file at server for the uploaded file
string newFile = Guid.NewGuid().ToString() + fileExtensionApplication;
// getting a valid server path to save
string filePath = System.IO.Path.Combine(Server.MapPath("uploads"), newFile);

if (fileNameApplication != String.Empty)
{
filePosted.SaveAs(filePath);
}
}

对于 Request.Files["uploadFieldNameFromHTML"]在此处设置 HTML 代码中的 ID:

<input type='file' id='...' />

此外,不要忘记定义 runat="server"在ASPX页面的主窗体,最好设置在主窗体,不要忘记enctype="multipart/form-data" <form> 的参数:

<body>
<form enctype="multipart/form-data" id="form1" runat="server">
<input type='file' id='uploadFieldNameFromHTML' />
...

关于c# - 使用 "&lt;input type="文件"..../>"代替 asp :FileUpload,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16217705/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com