У меня есть какой-то html, сгенерированный JQuery на странице Share Point. Я хочу использовать uploadify в этом html для загрузки файла на сервер. Александр помог, предоставив следующий пример кода, который частично основан на http://www.uploadify.com/forum/viewtopic.php?f=5&t=45.
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 получил отладку в рабочем состоянии.
При переходе непосредственно на страницу 0 записывается на страницу. Отладчик срабатывает и все хорошо. Когда скрипт запускается, он не попадает в Upload.ashx, так как никакие точки останова не достигнуты. Я полагаю, что моя ссылка на Upload.ashx неверна. Я пытался использовать http://mysite/_layouts/other/Upload.ashx в JS и до сих пор не радости ...
Обновление 2
После некоторого тестирования проблема, похоже, заключается в том, что он просит меня снова войти в Share Point (я вошел в систему). Это заставляет это споткнуться. Любые идеи, как убедиться, что моя аутентификация подобрана?
Обновление 3
Это действительно странно. Я испытываю желание сказать, что это настройка в моем IE8, которая делает это, как это работает для товарища по команде.
Когда я захожу прямо к /_layouts/other/Upload.ashx, его никогда не просят пройти аутентификацию.
Когда я прохожу через JS, меня иногда просят авторизоваться, даже если я уже заходил в систему.