将Uploadify与Sharepoint和.net一起使用

我有一个由JQuery在Share Point页面上生成的html。 我想在这个html中使用uploadify将文件上传到服务器。 Alexander通过提供以下示例代码提供了帮助,该代码部分基于http://www.uploadify.com/forum/viewtopic.php?f=5&t=45 。

upload.ashx

  

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 one。 导航到_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时,我从未被要求进行身份validation。 当我通过JS时,即使我之前登录过,我有时也会被要求进行身份validation。

您不上传到页面,而是上传到http处理程序 。 您应该将您粘贴的代码添加到upload.ashx中 ,如论坛post中所指定的那样。 然后,在客户端上,使用uploadify,如下所示:

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