如何通过单个html表单将文件上传到多个服务器

时间:2010-09-29 10:56:57

标签: javascript html forms amazon-s3

通过html表单和HTTP Post将文件/密钥发送到Amazon S3非常简单且有效。

但我想通过HTTP POST和单个html表单将文件发送到几个与S3兼容的站点。

我该怎么做?

据我所知,HTTP POST只能指向一个目标位置。

我希望将文件发送到第一个与S3兼容的站点(服务器),然后发送到第二个站点而不是第三个站点,依此类推,而不需要用户进行交互。

这可能吗?

非常感谢您的帮助。

2 个答案:

答案 0 :(得分:2)

你可以使用闪光灯为你做这件事(更容易)。

或者我认为你可以使用隐形框架和javascript。定位隐藏帧上的上传并更改操作。下面的示例将在一个服务器之后上传相同的文件。

以下是代码:

<!DOCTYPE html>
<html>
<head>
<title>Sample</title>
<script type="text/javascript" src="http://ajax.googleapis.com/ajax/libs/jquery/1.4.2/jquery.min.js"></script>
<script type="text/javascript">
    $(function(){
        $('#button1').click(function(){

            $('#frame1').load(function(){
               $('#form1')
                 .attr('action', 'http://server2/')
                 .attr('target', 'frame2')
                 .submit();
            });

            $('#form1')
               .attr('action', 'http://server1/')
               .attr('target', 'frame1')
               .submit();

            return true;
        });
    });
</script>
<style type="text/css"></style>
</head>
<body>
    <form id="form1" method="POST" enctype="multipart/form-data" action="http://cgi-lib.berkeley.edu/ex/fup.cgi"> 
      File to upload: <input type="file" name="upfile" /><br> 
      Notes about the file: <input type="text" name="note" /><br>
    </form>

    <button id="button1">Multiple upload</button>
    <br />

    <iframe id="frame1" name="frame1"></iframe>
    <iframe id="frame2" name="frame2"></iframe>
</body>
</html>

答案 1 :(得分:0)

使用纯HTML和浏览器无法做到这一点。