示例#1
0
        internal static void Main()
        {
            // Console.WriteLine(CFHData.Files.All());

            // Testing Dropbox
            var dropbox = new DropBoxCloudConnector();

            string testFile     = @"../../Resources/1.png";
            var    file         = new FileResource(testFile);
            var    uploadedGirl = dropbox.UploadFileToCloud(file);

            var fileLink = dropbox.GetFileLink("/File/1.png");

            Console.WriteLine(fileLink.Url);
        }
示例#2
0
        public async Task <IHttpActionResult> Add(string message, int problemId)
        {
            var problem = this.data.Problems.Find(problemId);

            if (problem == null)
            {
                return(NotFound());
            }

            if (Request.Content.IsMimeMultipartContent())
            {
                var path           = Path.GetTempPath();
                var streamProvider = new MultipartFormDataStreamProvider(path);
                await Request.Content.ReadAsMultipartAsync(streamProvider);

                foreach (MultipartFileData fileData in streamProvider.FileData)
                {
                    if (string.IsNullOrEmpty(fileData.Headers.ContentDisposition.FileName))
                    {
                        return(BadRequest());
                    }

                    string fileName = fileData.Headers.ContentDisposition.FileName;

                    if (fileName.StartsWith("\"") && fileName.EndsWith("\""))
                    {
                        fileName = fileName.Trim('"');
                    }
                    if
                    (fileName.Contains(@"/") || fileName.Contains(@"\"))
                    {
                        fileName = Path.GetFileName(fileName);
                    }
                    var finalPath = Path.Combine(StoragePath, fileName);
                    File.Move(fileData.LocalFileName, finalPath);

                    var file          = new FileResource(finalPath);
                    var uploadedfFile = this.dropbox.UploadFileToCloud(file);

                    var fileUrl = dropbox.GetFileLink(uploadedfFile.Path).Url;

                    var downloadPath = new DownloadPath()
                    {
                        AddDate = DateTime.Now,
                        Link    = fileUrl,
                        Message = message,
                    };

                    problem.DownloadPaths.Add(downloadPath);

                    try
                    {
                        this.data.SaveChanges();
                    }
                    catch (Exception)
                    {
                        return(BadRequest());
                    }

                    return(Ok(downloadPath.Link));
                }

                return(Ok());
            }
            else
            {
                return(BadRequest());
            }
        }