问题描述
提交表单后,由代理 (LS) 处理。
我不知道如何检索文件/附件,这是我的问题。
<form name="profile" method="POST" action=".../postAgentName?openagent">
<input name="title"/>
<input name="price"/>
...
<input type="file" name="files" multiple>
</form>
就我所见,附件不是 DocumentContext 的一部分,而只是文件名。我有点怀疑文件可能会在某个地方的请求内临时上传到 Domino,但我真的不确定?
是否可以使用 LotusScript 从用 LS 编写的代理中的“文件”控制器获取附件? 有人可以指出我正确的方向吗?或者给个提示我该怎么办?
非常感谢。
解决方法
我已经构建了自己的解决方案
- 当我们在客户端选择文件时 - 我们使用 javascript 将它们转换为 base64
<form name="formName" method="post" action="agentName?openagent">
<input name="title" value="xxx">
<input type="file" name="files" multiple onchange="toBase64()">
</form>
- 我们像往常一样添加 base64 字符串以形成表单,以便将它们提交给端点(代理)
var reader = new FileReader();
- 代理将获取 base64 值并将其转换回文件(使用 LS 或 Java/LS2J)
调用 stream.WriteText(base64File)
调用 item.SetContentFromText(stream,contentType,ENC_BASE64)
在此处查看详细信息(此处无法正确格式化): https://dpastov.blogspot.com/2021/01/how-to-post-attachments-using-form-to.html