0

SwfUpload を使用していますが、宛先フォルダーを指定できるようにしたいと考えています。現在、最終目的地をハードコーディングしていますが、その場で制御できるようにしたいと考えています。SwfUpload をアップロード スクリプトに送信する方法はありますか? アップローダを表示するフォームに隠し変数として追加しようとしましたが、スクリプトに追加されません:

アップローダを表示するフォームは次のとおりです。ページの残りの部分はかなり標準的なので、含めませんでした。隠しフィールド「destinationpath」を探します

<form id="form1" action="nowhere.html" method="post" enctype="multipart/form-data">
    <p>Select file to upload for program.
    </p>

        <div class="fieldset flash" id="fsUploadProgress">
        <span class="legend">Upload Queue</span>
        </div>
    <div id="divStatus">0 Files Uploaded</div>
        <div>
            <span id="spanButtonPlaceHolder"></span>
            <input id="btnCancel" type="button" value="Cancel All Uploads" onclick="swfu.cancelQueue();" disabled="disabled" style="margin-left: 2px; font-size: 8pt; height: 29px;" />
        </div>
    <input name="destinationpath" type="hidden" value="c:/DigitalMediaFiles/">
</form>

次に、upload.php で確認します。

if (isset($_REQUEST["destinationpath"]))
    $save_path  = $_REQUEST["destinationpath"];

しかし、設定されていません。swf アップロードでフォームが送信されないと思われます。

4

2 に答える 2

0

宛先フォルダーがアップローダー (クライアント) に関連していない場合は、クライアント側のスクリプトからその変数を取得せずに、php スクリプトで実行できます。つまり、php スクリプトでターゲット ディレクトリにファイルを保存します。

宛先フォルダーが各クライアントと異なる場合でも、それらを同じディレクトリに保存し、.htaccess ファイルを使用して各クライアントの URL を書き換えることができます (クライアント ID を使用)。この場合、ファイル名の一部にクライアント ID を保持するファイルを保存する必要があります。区切り文字を使用してファイル名を展開できます。

それでも質問で言及した独自の方法で行う必要がある場合は、swfupload.js ファイル用にコーディングされた構成 js ファイルで post_params: {} 関数を使用してください。その場合、post_params: {} 関数は次のようになります。

post_poarams: { 'your-variable-name-in-php-goes-here': 'value of this variable at this time goes here' },
于 2013-02-05T12:27:34.803 に答える
0

その方法は、SWFSettings オブジェクトの post_params にパラメータを指定することです

post_params: { "destinationpath" : "C:\DigitalMediaFiles" },

addPostParam() を使用してみましたが、うまくいきませんでした。設定のpost_paramsに入れてください。

于 2013-01-06T17:53:54.960 に答える