【发布时间】:2015-10-21 18:22:32
【问题描述】:
有没有办法(以编程方式)通过 HTTP 将文件直接发送到 STP 服务器?看来documented 方法(使用<input type="file">)不能以自动化方式使用,因为明确的浏览器限制旨在防止向网络服务器发送垃圾邮件。
我不希望使用 IOM(尽管我们已获得 AMO 许可),因为这会产生对本地 SAS 安装的依赖。
当前的方法涉及写入共享目录,然后通过 web query 调用 STP - 然后将数据提升和删除到非共享位置。
问题是在这几秒钟内数据在更广泛的公司域中。直接上传到 SAS 会更整洁!
这可能吗?没有第三方软件(只是 vanilla excel VBA)?
【问题讨论】:
-
我迷路了。您希望以编程方式将文件从 PC 上传到存储过程服务器。为什么要通过 HTTP 执行此操作?你不能只是 SFTP 或类似的吗?如果您正在为用户制作一个 web 应用程序来上传文件并处理它们,那么使用 HTTP 是的,用户需要点击整个过程。除非您想使用 imacros.net/overview 之类的东西编写浏览器脚本。
-
我在excel中建立了一个数据编辑器,需要将记录发送回SAS服务器。我确实希望为浏览器编写脚本,但没有任何本地安装。我认为你是对的,我唯一真正的选择是使用 SFTP(需要进行设置)。这会阻止其他用户查看文件吗?
-
这取决于您的服务器上的权限,以及您放置文件的位置。
-
我认为你想要的都是可能的。我最近刚刚使用 jQuery/AJAX 完成了一些代码,这些代码将采用编程方式创建的数据,并将其上传到 SAS/Intrnet 服务器(我相信相当于 STP),其方式与此处第 145 页上的详细信息兼容(@ 987654324@)。如果您熟悉 javascript,您可以让 excel 调用一些 javascript 而不是 VBA。或者,可能有一种方法可以使用 Internet Explorer 自动化对象和 VBA 进行等效操作。
-
而就其价值而言,我看不出 STP 如何区分以编程方式生成的 HTTP 请求和常规 HTML
<input type="file">方法。对服务器来说,它应该看起来都一样...