我正在尝试使用内置 JavaScript 技术的 InDesign 实现文件上传。
基本上,该脚本将 InDesign 文档导出为 PDF,然后尝试将文件上传到网络服务器。对于上传,我使用处理 HTTP 请求的可扩展插件。
我能够发出一些基本的 GET 和 POST 请求,但我无法发出文件上传的 POST 请求。
这是基本代码:
var req = new http.HTTPRequest("POST", "http://mysite.com);
var type = "application/pdf";
var boundary = "--012345678910";
var myTitle = "\r\nContent-Disposition: form-data; name=\"title\"\r\n\r\n"+title+"\r\n"+boundary;
var myFile= "\r\nContent-Disposition: form-data; name=\"file\"; filename=\""+pdfFileName+"\"\r\nContent-Type: "+type+"\r\n\r\n"+file_contents+"\r\n"+boundary+"--";
var myData = boundary + myTitle + myFile;
req.content(myData);
req.header("User-Agent", "MyUserAgent");
req.header("Content-Type", "multipart/form-data; boundary=012345678910");
// make request
res = req.do();
我能够从 Ruby 脚本和一些 REST 客户端上传具有相同标题的相同文件等。
当我查看到达服务器的内容时,似乎表单数据不包含在 post 参数中。
所以我的问题是,是否有人曾使用 InDesign JavaScript 和可扩展插件成功上传文件。可扩展文档并不是很有帮助,也许我遗漏了一些东西。我也对替代品持开放态度。