2

我有一个带有一些自定义 javascript 的 web 控件。javascript 使用类似于以下的代码在客户端上动态创建新的文件上传控件:

var newFileUpload = document.createElement('input');
newFileUpload.type = 'file';
container.appendChild(newFileUpload); // where container is a div

这存在于 ASP.NET 表单中,其中 encType 设置为 multipart/form-data。我将在页面上有 1 - n 个控件(当然,仅限于合理的数量)。

我现在想在我的 ASP.NET 应用程序中捕获上传的文件。由于上面采用的方法,我知道我无法像从 FileUpload 控件(不幸的是我无法使用)那样捕获它们。还有其他方法可以捕获上传的文件吗?

我浏览了许多领域,包括:

  • 请求文件
  • 申请表
  • Request.Form.Keys
  • 请求输入流

但是我一直找不到内容。我相信客户端正确地提交了这些数据,但无法确定服务器对原始请求信息做了什么(如果这甚至暴露了)。

有人对我可能进一步探索的领域有什么建议吗?

谢谢

4

1 回答 1

2

您应该为您的上传元素添加一个唯一名称,以便从 Request.Form 集合中获取它。

var newFileUpload = document.createElement('input');
newFileUpload.type = 'file';
//newFileUpload.id = 'file01';
newFileUpload.name = 'file01';
container.appendChild(newFileUpload);

编辑:我尝试了 id 和 name attibutes,with name,你可以通过

Request.Form["file01"]

此外,如果您应该将以下属性添加到您的表单元素。这允许您通过 Request.Files["file01"] 获取文件内容:

enctype="multipart/form-data"
于 2009-04-29T17:28:51.870 回答