예제 #1
0
        public static FileShareResult Share(FileShare share)
        {
            if (share == null)
            {
                return(new FileShareResult(null));
            }
            //check for cheeky directory traversal attempts
            if (!CryptoHelper.IsHashValid(share?.FileId))
            {
                //TODO: make the user regret this
                return(new FileShareResult(share));
            }
            if (!FileExists(share.FileId))
            {
                return(new FileShareResult(share));
            }
            var urlKey = WebServer.AddShare(share);
            var res    = new FileShareResult(share, Config.Dfs.ExternalWebServerUrl + "/" + urlKey);

            return(res);
        }