2009-08-25 12 views
4

私は、Share PointページでJQueryによって生成されたhtmlをいくつか持っています。私はこのhtmlでuploadifyを使ってファイルをサーバにアップロードしたいと思っています。 Alexanderは、部分的にhttp://www.uploadify.com/forum/viewtopic.php?f=5&t=45に基づいている次のサンプルコードを提供するのを助けました。ファイルがサーバーにアップロードされていないUploadify with Sharepointと.netを使用する

upload.ashx

<%@ Assembly Name="ClassName, Version=1.0.0.0, Culture=neutral, PublicKeyToken=f099e668beaaa0f9" %> 
<%@ WebHandler Language="C#" CodeBehind="Upload.ashx.cs" Class="Site.RootFiles.TEMPLATE.LAYOUTS.other.Upload" %> 

upload.ashx.cs

public class Upload : IHttpHandler 
{ 
    public void ProcessRequest(HttpContext context) { 
    HttpPostedFile oFile = context.Request.Files["Filedata"]; 

    if (oFile != null) { 
    const string sDirectory = "c:\\"; 
    if (!Directory.Exists(sDirectory)) 
    Directory.CreateDirectory(sDirectory); 

    oFile.SaveAs(Path.Combine(sDirectory, oFile.FileName)); 

    context.Response.Write("1"); 
     } 
     else { 
      context.Response.Write("0"); 
     } 
    } 
    public bool IsReusable { 
     get { 
      return false; 
     } 
    } 
} 

。スローされる唯一のイベントはonProgressイベントです。 _layouts/other/Upload.ashxにナビゲートすると0が返され(正しい)、ファイルがそこにあります。

主な質問は、これをどのように共有ポイントで再生するのですか?私はupload.ashxファイルのリモートデバッグを試みますが、リモートデバッグが何もしないようにVSにブレークポイントを追加することはできません。

アップデート1

この質問Visual Studio ASHX files debuggingは、作業をデバッグました。

ページに直接ナビゲートすると、ページに0が書き込まれます。デバッガが起動し、すべてが良好です。スクリプトが実行されるとき、ブレークポイントがヒットしないので、Upload.ashxに当たっていません。私はUpload.ashxへの参照が間違っていると思います。私は、問題をテストし、いくつかは、(私がログインしています再び共有ポイントにログインするために私を求めていることであるように思われた後のjsとまだ喜びでhttp://mysite/_layouts/other/Upload.ashx ...

アップデート2

を使用してみました)。これは、それが上に移動する原因です。私の認証が確実に収まるようにするためのアイデアはありますか?

アップデート3

これは本当に奇妙です。私はそれがチームメイトのために働いている私のIE8の設定であると言いたくなります。

私は/_layouts/other/Upload.ashxに直接ブラウズすると、決して認証を求められません。 私はJS経由で行くときに、私が以前にログインしていても、時には認証を求められます。

答えて

1

ページにアップロードするのではなく、http handlerにアップロードします。投稿したコードをupload.ashxに追加する必要があります(フォーラムの投稿に指定されています)。次に、クライアント上で、次のようにuploadify使用:

$("#fileInput1").uploadify ({ script: 'upload.ashx' }); 
+0

を次のエラー取得:オブジェクトのインスタンスに設定されていない オブジェクト参照を。 System.Web.HttpApplication.ExecuteStep(IExecutionStepステップ、ブール&completedSynchronously)でSystem.Web.HttpApplication.CallHandlerExecutionStep.System.Web.HttpApplication.IExecutionStep.ExecuteでUpload.ProcessRequest(のHttpContextコンテキスト) () – Jack

+0

における第3のポストでスレッドはフォルダ(http://www.uploadify.com/forum/viewtopic.php?f=5&t=45#p1909)でいくつかのドラマを表示します。どちらかが例外をスローするか、ファイルがサーバーに到着しません - どちらを確認できますか? –

+0

私は2番目のコードを試しましたが、まだ運がありません。デバッグで遠くになっていない。なぜ物事は決して簡単ではないのですか? – Jack

関連する問題