html上传文件为空时报,在ASP.NET中上传HTML文件:HttpPostedFile属性为空

在我的ASP.NET Web表单中,我试图自定义我的文件上载面板。我所做的只是放入一个HTML输入按钮和一个文本框。还有一个隐藏的HTML文件上传控制。当用户点击按钮时,出现文件选择窗口,当用户选择文件时,该值被写入可见文本框。

迄今为止都很好。但是我在尝试将选定文件附加到代码页中的电子邮件时遇到问题。

这是HTML标记:

和JS(我使用这个只是为了复制文件名,并将其写入txtFileName,以显示给用户):

function CopyMe(oFileInput, sTargetID) {

var arrTemp = oFileInput.value.split('\\');

document.getElementById(sTargetID).value = arrTemp[arrTemp.length - 1];

}和CSS:

input[type=file] { width: 1px; }我在我的.cs文件中使用下面的代码来获取文件属性:

HttpPostedFile file = Request.Files["uploadme"]但我一直在获得空值。因此经过一番调查,我发现我的表单必须使用enctype="multipart/form-data"属性。由于我的.aspx文件在母版页文件下,因此我将该属性添加到了我的母版页文件中的表单中。现在,Request.Files["uploadme"]不为空,但其文件名为空字符串,其ContentLength为0。

我无法理解可能是这个问题的根源。如果是因为使用母版页的形式,我不能将表单添加到我的子页面,因为它表示页面只能有一个表单。我不知道是否可以使用JavaScript进行上传,因为我需要在上传后通过电子邮件发送文件,所以我不知道如何在通过JS上传后获取文件。

我怎么解决这个问题?它可能是这样或那样,我只需要一个风格化的上传面板和上传后的电子邮件文件。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值