Advertisement
Guest User

Untitled

a guest
Jun 26th, 2017
69
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.79 KB | None | 0 0
  1. #r "../../packages/WebDAVClient/lib/net45/WebDAVClient.dll"
  2.  
  3. open WebDAVClient
  4. open System.Net
  5. open System.IO
  6. open System.Threading.Tasks
  7.  
  8. let client = Client(NetworkCredential(UserName = "admin", Password = "admin"))
  9. client.Server <- ""
  10.  
  11. let listFile() =
  12. client.BasePath <- "/alfresco/webdav/Validate"
  13. let files =
  14. async {
  15. let! files = client.List() |> Async.AwaitTask
  16. return files
  17. } |> Async.RunSynchronously
  18.  
  19. let list (file: Model.Item) =
  20. printfn "%A" file.DisplayName
  21. printfn "%A" file.Etag
  22.  
  23. files |> Seq.iter list
  24.  
  25. let uploadFile() =
  26. client.BasePath <- "/alfresco/webdav/Validate"
  27.  
  28. let resource = "./Resource"
  29.  
  30. let uploadFile (folder: Model.Item) file =
  31. async {
  32. let info = FileInfo(file)
  33. let! rs = client.Upload(folder.Href, File.OpenRead(file), info.Name) |> Async.AwaitTask
  34. return rs
  35. } |> Async.RunSynchronously
  36.  
  37. async {
  38. let! folder = client.GetFolder("/alfresco/webdav/Validate") |> Async.AwaitTask
  39. let files = Directory.EnumerateFiles(resource, "*.*", SearchOption.AllDirectories) |> Seq.toList
  40. let uploader = uploadFile folder
  41. let result = files |> List.map uploader |> List.toArray
  42. return result
  43. } |> Async.RunSynchronously
  44.  
  45. let getFolder() =
  46. async {
  47. let! folder = client.GetFolder("/alfresco/webdav/Validate") |> Async.AwaitTask
  48. return folder
  49. } |> Async.RunSynchronously
  50.  
  51. let getFile() =
  52. async {
  53. try
  54. let! file = client.GetFile("/alfresco/webdav/Validate/Dir4/Test1.txt") |> Async.AwaitTask
  55. return true
  56. with ex ->
  57. return false
  58. } |> Async.RunSynchronously
  59.  
  60.  
  61. let start() =
  62. //getFolder() |> printfn "%A"
  63. getFile() |> printfn "%A"
  64.  
  65.  
  66. start()
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement