webdav portal upload func added
This commit is contained in:
parent
1da7c6c3b3
commit
a882072b02
23 changed files with 553 additions and 17 deletions
|
@ -3,11 +3,15 @@ using System.Collections.Generic;
|
|||
using System.IO;
|
||||
using System.Linq;
|
||||
using System.Net;
|
||||
using System.Text;
|
||||
using System.Web;
|
||||
using System.Xml.Serialization;
|
||||
using log4net;
|
||||
using WebsitePanel.Providers.OS;
|
||||
using WebsitePanel.WebDav.Core.Client;
|
||||
using WebsitePanel.WebDav.Core.Config;
|
||||
using WebsitePanel.WebDav.Core.Exceptions;
|
||||
using WebsitePanel.WebDav.Core.Extensions;
|
||||
using WebsitePanel.WebDav.Core.Interfaces.Managers;
|
||||
using WebsitePanel.WebDav.Core.Security.Cryptography;
|
||||
using WebsitePanel.WebDav.Core.Wsp.Framework;
|
||||
|
@ -108,6 +112,24 @@ namespace WebsitePanel.WebDav.Core.Managers
|
|||
}
|
||||
}
|
||||
|
||||
public void UploadFile(string path, HttpPostedFileBase file)
|
||||
{
|
||||
var resource = new WebDavResource();
|
||||
|
||||
var fileUrl = new Uri(WebDavAppConfigManager.Instance.WebdavRoot)
|
||||
.Append(WspContext.User.OrganizationId)
|
||||
.Append(path)
|
||||
.Append(Path.GetFileName(file.FileName));
|
||||
|
||||
resource.SetHref(fileUrl);
|
||||
resource.SetCredentials(new NetworkCredential(WspContext.User.Login, _cryptography.Decrypt(WspContext.User.EncryptedPassword)));
|
||||
|
||||
file.InputStream.Seek(0, SeekOrigin.Begin);
|
||||
var bytes = ReadFully(file.InputStream);
|
||||
|
||||
resource.Upload(bytes);
|
||||
}
|
||||
|
||||
public IResource GetResource(string path)
|
||||
{
|
||||
try
|
||||
|
@ -184,6 +206,14 @@ namespace WebsitePanel.WebDav.Core.Managers
|
|||
}
|
||||
}
|
||||
|
||||
public void WriteTo(Stream sourceStream, Stream targetStream)
|
||||
{
|
||||
byte[] buffer = new byte[16 * 1024];
|
||||
int n;
|
||||
while ((n = sourceStream.Read(buffer, 0, buffer.Length)) != 0)
|
||||
targetStream.Write(buffer, 0, n);
|
||||
}
|
||||
|
||||
private string GetFileFolder(string path)
|
||||
{
|
||||
path = path.TrimEnd('/');
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue