2012-03-29 8 views
0

私は自分のサイトにAjax AsyncFileUploadを持っています、 ここに私は何をする必要がありますか: 1.ユーザーが閲覧してアップロードするファイルを選択すると、別のasp .net texboxいくつかの値 - この値は、完全な閲覧パスを使用して文字列を追加しています。いくつかのテキストボックスを更新するためにAsyncFileUpload

この文字列を更新すると複雑になり、ファイルの全パスを使用して、Asp .net C#コードで実行します。

どうすればいいですか?

答えて

1

あなたはそれを行うことはできません、ファイルパスはJavaScriptに公開されていません、それはセキュリティ機能です。 パスを知る前にファイルをアップロードする必要があります。その場合でも、完全なローカルパスはわかりません。

アプリケーションの機能がパス名を変更することを中心にしている場合は、別々のテキストボックスにファイル名を入力すると意味があると思われますが、テキストトラフajaxを送信して変更を加えることができますあなたが望むものに。あなたはこの文字列の次のページを通過した後

+0

私はpostedFile.fileNameを使用してサーバー側で完全なファイルパスを取得することはできますが、私はそれからTextBoxをupdataeできません。どうすればいいですか? – briler

+0

AJAXコントロールツールキットのAsyncFileUploadを使用していますか? OnClientUploadCompleteイベントが機能するはずです。サーバーのセッション変数に完全なパス名を格納し、そのイベントのページングメソッドを使用して取得することができます。http://www.asp.net/ajaxLibrary/AjaxControlToolkitSampleSite/AsyncFileUpload/ AsyncFileUpload.aspx for more –

+1

少なくとも現代的なブラウザでは、@helmusと同意します。 (私はIE6がサーバーへのフルパスを送信するために使用したと思います) helmus、最初の文章の誤字:ファイルPATHはjavascritに公開されていませんが、NAMEファイルです。 – jbl

0
window.location ="yourpath?string="+string 

あなたはその完全なパスを取得するには、このような何かをする必要があります。

$(function() 
{ 
    $.extend({ 
     getUrlVars: function(){ 
      var vars = [], hash; 
      var hashes = window.location.href.slice(window.location.href.indexOf('?') + 1).split('&'); 
      for(var i = 0; i < hashes.length; i++) 
      { 
       hash = hashes[i].split('='); 
       vars.push(hash[0]); 
       vars[hash[0]] = hash[1]; 
      } 
      return vars; 
     }, 
     getUrlVar: function(name){ 
      return $.getUrlVars()[name]; 
     } 
    }); 
    var previous_email = $.getUrlVar('string'); 
    $("#pemail").val(''+previous_email+'') 
}); 

これは、前のページで送信したパスを取得します。私はここでメソッドを得るために使用されています。

関連する問題