-1

我正在使用https://github.com/blueimp/jQuery-File-Upload/插件。

如何设置此插件以便我可以将文件上传到随机远程服务器。

我有 5 台带有以下 URL 的服务器

  1. mydomain.com/files
  2. mydomain2.com/文件
  3. mydomain3.com/文件
  4. mydomain4.com/文件
  5. mydomain5.com/文件

*更多服务器可以在需要时动态添加。

我需要将uploadhandler类(php)上传到每个服务器吗?或者我还需要做什么?

4

2 回答 2

0

你必须做几件事,

首先是随机服务器

server_pool = ["mydomain.com/files","mydomain2.com/files","mydomain3.com/files","mydomain4.com/files","mydomain5.com/files"];
var theserver = server_pool[Math.floor(Math.random() * server_pool.length)];

现在我们要将随机服务器添加到 blueimp 中的 de main.js 文件中。

替换这个

$('#fileupload').fileupload({
    // Uncomment the following to send cross-domain cookies:
    //xhrFields: {withCredentials: true},
    url: 'server/php/'
});

为了这:

$('#fileupload').fileupload({
    // Uncomment the following to send cross-domain cookies:
    //xhrFields: {withCredentials: true},
    // url: 'server/php/' OLD ONE
    url: theserver
});

现在是 PHP 部分的时候了,您需要将 server/php 文件夹上传到所有其他服务器,但首先您需要将其添加到其中的 index.php 文件中。

在后面加上这个

这是结果:

<?php
header('Access-Control-Allow-Origin: *');
/*
 * jQuery File Upload Plugin PHP Example 5.14
 * https://github.com/blueimp/jQuery-File-Upload
 *
 * Copyright 2010, Sebastian Tschan
 * https://blueimp.net
 *
 * Licensed under the MIT license:
 * http://www.opensource.org/licenses/MIT
 */

error_reporting(E_ALL | E_STRICT);
require('UploadHandler.php');
$upload_handler = new UploadHandler();

干杯

于 2013-10-05T22:03:56.343 回答
0

首先将文件上传到主服务器,然后使用 curl 将其发送到您想要的服务器

$curl_connection = curl_init('http://serverX.exemple.com/upload');
curl_setopt($curl_connection, CURLOPT_POST, TRUE);  

curl_setopt($curl_connection, CURLOPT_POSTFIELDS, array(
    'upload' => '@' . "path/to/file1.ext",

    ));

curl_setopt($curl_connection, CURLOPT_RETURNTRANSFER, 1);
echo curl_exec($curl_connection) ;
curl_close($curl_connection);
于 2013-11-19T21:28:34.637 回答