1

私はstackoverflowと一般的なインターネット全体を見てきましたが、単純なAJAXファイルアップローダー(フォーム送信のみ)が見つかりません。私が見つけたものは十分に柔軟ではなく、私の目的には合いません。このスクリプトをファイルのアップロードに調整できれば、それは素晴らしいことです:

<script type="text/javascript">
 function upload(str)
 {
 if (str.length==0)
 { 
document.getElementById("txtHint").innerHTML="";
 return;
  }
 if (window.XMLHttpRequest)
    {// code for IE7+, Firefox, Chrome, Opera, Safari
   xmlhttp=new XMLHttpRequest();
   }
 else
   {// code for IE6, IE5
   xmlhttp=new ActiveXObject("Microsoft.XMLHTTP");
   }
 xmlhttp.onreadystatechange=function()
   {
   if (xmlhttp.readyState==4 && xmlhttp.status==200)
     {
     document.getElementById("hint").innerHTML=xmlhttp.responseText;
     }
   }
 xmlhttp.open("GET","ajax/link.php?q="+str,true);
 xmlhttp.send();
 }

HTMLで私は持っているでしょう

<input type='file' onblur='upload(this.value)'>

ありがとう

4

3 に答える 3

7

これは単純なajaxファイルアップローダーです

アップロードする

フラッシュが必要ない場合は、これを使用できます。

AxUploader

于 2012-04-10T15:01:32.253 に答える
0

それほど簡単ではありません。ajaxを直接使用してファイルをアップロードすることはできません。原因となるセキュリティの問題について考えてみてください。strフィールドに「/%USER%/Desktop/CreditCardsAndPasswords.txt」と入力するとどうなりますか?要するに、あなたはあなたが話していたそれらの「柔軟性のない」アップローダーを見つけて使用する必要があり、あなたのニーズに合わせてそれらを編集する必要があります。それか、目的に合わせて自分で書いてください。

ほとんどの「ajax」アップローダーは、Html入力ファイル要素を動的に作成し、フォームのサブセット(ファイル要素のみ)をWebサイトのphpスクリプトに送信します。これにより、ファイルが任意の一時ディレクトリに保存されます。次に、フォームの残りの部分を送信すると、スクリプトの残りの部分に「追いつき」、アップロードされたファイルで必要な処理を処理できます。

そこには多くのajax「アップローダー」があります。検索して見つけてください。そこにあるものすべてが十分ではないとは信じられません。

于 2012-04-10T15:03:51.380 に答える