33 lines
1.0 KiB
C#
33 lines
1.0 KiB
C#
using System;
|
|
using System.Collections.Generic;
|
|
using System.Linq;
|
|
using System.Net;
|
|
using System.Net.Http;
|
|
using System.Web;
|
|
using System.Web.Http;
|
|
using WebDAVSharp.Server;
|
|
using WebDAVSharp.Server.Adapters;
|
|
using WebDAVSharp.Server.Stores.DiskStore;
|
|
|
|
namespace WebDAVSharp.WebServer.Controllers {
|
|
public class WebDAVController : ApiController {
|
|
[Route("test"), HttpGet]
|
|
public dynamic Test() {
|
|
return new { bla = "blupp", kinz = "kunz" };
|
|
}
|
|
|
|
[Route("webDav/{*FileName}"), AcceptVerbs("OPTIONS", "GET", "HEAD", "PROPFIND", "PROPPATCH", "MKCOL", "PUT", "DELETE", "COPY", "MOVE", "LOCK", "UNLOCK",
|
|
"TRACE", "POST")]
|
|
public void WebDav(String FileName) {
|
|
var rootPath = @"t:\";
|
|
var store = new WebDavDiskStore(rootPath);
|
|
var webDavServer = new WebDavServer(store);
|
|
webDavServer.ServiceUrl = "http://" + Request.RequestUri.Authority + "/webDAV/"; // trailing slash is important
|
|
|
|
webDavServer.ProcessRequest(HttpContext.Current, FileName);
|
|
//HttpContext.Current.Response.Flush();
|
|
HttpContext.Current.Response.End();
|
|
}
|
|
}
|
|
}
|