如何使用javascript和ajax拦截和添加参数到POST?

时间:2011-12-01 21:53:34

标签: javascript ajax upload amazon-s3

我有一个非常标准的上传表单 - 用户选择一个文件,然后点击上传按钮。但是现在我需要在帖子中添加数据 - 用户选择文件后,但显然在帖子离开浏览器之前。请注意,帖子是直接发布到第三方(Amazon S3)。

有没有办法制作一个带有文件选择器的表单(或看起来像一个的表单),然后用户选择一个本地文件,然后点击一个按钮,=> javascript调用我的服务器,获取响应,构建“真实”帖子,然后将此新帖子发送到第三方服务器。

基本上,在用户选择文件之前,我不知道一些事情(mime类型)。我知道浏览器会发送此信息,但亚马逊AWS预签名帖子会忽略浏览器所说的内容。

我可以使用来自javascript的ajax调用命中我的服务器(ruby sinatra),这将返回一些JSON等脚本,然后发布到Amazon S3。

我的问题可能只是我对javascript的新手......

1 个答案:

答案 0 :(得分:2)

您可以将隐藏字段添加到表单中,并在其中包含文件。做你的中间请求,填写隐藏的字段。提交原始表格。