4

Share PointページでJQueryによって生成されたHTMLがあります。このhtmlでuploadifyを使用して、ファイルをサーバーにアップロードしたいと考えています。アレクサンダーは、部分的にhttp://www.uploadify.com/forum/viewtopic.php?f=5&t=45に基づいた次のサンプル コードを提供することで支援しました。

アップロード.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" %>

アップロード.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 ファイルのデバッグでデバッグが機能しました。

ページに直接移動すると、0 がページに書き込まれます。デバッガーが起動し、すべてが正常です。スクリプトを実行すると、ブレークポイントにヒットしないため、Upload.ashx にヒットしません。Upload.ashx への参照が間違っていると思います。js でhttp://mysite/_layouts/other/Upload.ashxを使用してみましたが、まだ喜びはありません...

更新 2

いくつかのテストの後、Share Point に再度ログインするように求められていることが問題のようです (ログインしています)。これがつまずく原因になっています。私の認証が取得されていることを確認する方法はありますか?

アップデート 3

これは本当に奇妙です。チームメイトのために機能するので、それを行っているのは私のIE8の設定だと言いたくなりました。

/_layouts/other/Upload.ashx を直接参照すると、認証を求められることはありません。JS を使用すると、以前にログインしたことがある場合でも、認証を求められることがあります。

4

1 に答える 1

1

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

$("#fileInput1").uploadify ({ script: 'upload.ashx' });
于 2009-08-25T12:36:56.463 に答える