我如何将ASP.NET字节数组“附加”到表单上的“文件”类型输入字段?

时间:2011-10-06 19:54:31

标签: javascript asp.net forms bytearray zoho

在我的ASP.NET应用程序中,我想向第三方文档编辑服务(Zoho)发出POST请求。我理解如何使用前端表单生成此请求,以及如何在我的VB.NET代码隐藏中创建一个。但是,因为我发送的文件作为字节数组存储在我的数据库中,并且POST结果(Zoho网站上的编辑器页面)必须显示在特殊的“目标”(新窗口或iframe)中,看起来我需要一些奇怪的组合。

基本上,我想附加这个字节数组的内容

Dim fileContents() As Byte = Files.get(fileId)

到这种形式的文件输入字段

<form id="theForm" action="http://zohoservice" method="POST" target="_blank" >
    ...
    <input type="file" name="fileContents" />
</form>

然后通过这样的javascript提交

theForm.submit();

我希望我不要求不可能的事。谢谢你的帮助!

1 个答案:

答案 0 :(得分:3)

你实际上不能做你的建议。使用<input type="file" .../>时,上传的文件永远不会加载到HTML中。相反,它作为POST请求的一部分包含在内。所以你想要实际做的是制作一个完整的POST请求,并将该帖子提交给你的行动(http:// zohoservice)。

这是可行的,但是在您的最终会有一些工作,您需要了解如何创建MIME多部分POST请求。如果有任何反僵尸技术或查看状态跟踪(各种事物),那么你会遇到麻烦。