Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #r "../../packages/WebDAVClient/lib/net45/WebDAVClient.dll"
- open WebDAVClient
- open System.Net
- open System.IO
- open System.Threading.Tasks
- let client = Client(NetworkCredential(UserName = "admin", Password = "admin"))
- client.Server <- ""
- let listFile() =
- client.BasePath <- "/alfresco/webdav/Validate"
- let files =
- async {
- let! files = client.List() |> Async.AwaitTask
- return files
- } |> Async.RunSynchronously
- let list (file: Model.Item) =
- printfn "%A" file.DisplayName
- printfn "%A" file.Etag
- files |> Seq.iter list
- let uploadFile() =
- client.BasePath <- "/alfresco/webdav/Validate"
- let resource = "./Resource"
- let uploadFile (folder: Model.Item) file =
- async {
- let info = FileInfo(file)
- let! rs = client.Upload(folder.Href, File.OpenRead(file), info.Name) |> Async.AwaitTask
- return rs
- } |> Async.RunSynchronously
- async {
- let! folder = client.GetFolder("/alfresco/webdav/Validate") |> Async.AwaitTask
- let files = Directory.EnumerateFiles(resource, "*.*", SearchOption.AllDirectories) |> Seq.toList
- let uploader = uploadFile folder
- let result = files |> List.map uploader |> List.toArray
- return result
- } |> Async.RunSynchronously
- let getFolder() =
- async {
- let! folder = client.GetFolder("/alfresco/webdav/Validate") |> Async.AwaitTask
- return folder
- } |> Async.RunSynchronously
- let getFile() =
- async {
- try
- let! file = client.GetFile("/alfresco/webdav/Validate/Dir4/Test1.txt") |> Async.AwaitTask
- return true
- with ex ->
- return false
- } |> Async.RunSynchronously
- let start() =
- //getFolder() |> printfn "%A"
- getFile() |> printfn "%A"
- start()
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement