2011-11-25 3 views
0

jqueryまたはjavascriptのみを使用してサーバにファイルアップロードの一時的な場所を取得します。jqueryを使用してサーバでファイルアップロードの一時的な場所を取得する方法

ファイルアップロードの一時的な場所をjavascript自体で取得することは可能ですか? Javascriptを

function getTempLocation() { 

    // code to get temp location of file. 

    } 
+0

サーバーがファイル転送を処理するので、これは可能ではないと思います。 – Blender

+0

@Blender:$( 'file #ProfileUserImage')でサーバー側のスクリプトを実行すると、submit(); Javascriptで。場所名を取得できますか? –

+0

私のコメントで言ったように、いいえ。 – Blender

答えて

0

でHTML

<input type="file" id="ProfileUserImage" class="fileInput" name="data[Profile][userImage]" onchange= "getTempLocation()"> 

Blenderが示唆したように、何もあなたがすることはできませんありません。 PHPを使用している場合、私は、スクリプトが終了すると一時ファイルがファイルシステムから削除されていることを知っています。

あなたはまだ問題を解決することができます:

私はあなたが何をしたいのかについて、いくつかの推測を作ってるんだが、これが役立つことがあります。

  • をあなたのサーバーを使用して、保存する必要がありますイメージを新しい場所に移動します。これはあなた自身の「一時的な」場所である可能性があります。
  • おそらくAJAXを使用して新しい場所をクライアントに戻し、画像を表示します。
  • ユーザーはイメージを承認し、サーバーに要求を送信してイメージを永続的な場所に保存することができます。
  • 画像を承認する前にページが存在する場合は、CRONジョブを使用して、適切な頻度で一時ファイルを削除します。

EDIT:

ファイルアップロードのためのPHPマニュアルには、ファイルをアップロードして、新しい場所に移動する方法を正確に教えてくれます。 hereを参照してください。イメージをアップロードしたら、DBまたはユーザーセッションに保存して、後で表示することができます。スクリプトがページをリロードしたら、新しいイメージのソースを指すHTMLイメージ要素を作成します。

もしあなたがajaxでそれをしたいのであれば、iFrameを使って、またはXMLHttpRequestを使ってファイルをアップロードする必要がありますが、この方法でファイルを転送することは、新しいブラウザ(少なくともFF 3.6、IE9、クロム)。いくつかのライブラリがこれを行うことができます。hereを参照してください。 ajaxファイルのアップローダをPHPスクリプト(前と同じ)で指定します。アップロードが完了すると、新しい場所をJSONなどの形式で返すようにPHPスクリプトを取得します。 Javascriptを使用すると、JSONにアクセスしてファイルの場所を知ることができます。完了!

あなたがしようとしていることはそれほど難しいことではありませんが、それは簡単ではないので、5分で問題を解決するとは思わないでしょう。ファイルをアップロードするためのライブラリは、あなたの仕事の大部分を手伝ってくれるでしょう。

+0

はい、私はPHPを使用しています。デモをお願いします。 –

+0

上記の編集を参照してください。私はあなたに完全なデモを与えることはできません。 – Simon

関連する問題