C# Windows Форма Сохранить и скачать файл PDF в Local Mongo - PullRequest
0 голосов
/ 08 января 2020

Я успешно загрузил и загрузил изображения в пн go дБ. однако, когда я пытаюсь загрузить и загрузить файл PDF, загрузка кажется успешной, но загрузка того же файла с тем же идентификатором (который я храню в моем объекте) либо дает мне нулевой байт файл, либо поврежденный файл. Я использую поток для загрузки и скачивания.

```
        public static string InsertFile(string filename,string storingname)
    {
        try
        {
            using (var stream = CDB.db.fs.OpenUploadStream(filename))
            {
                var id = stream.Id; // the unique Id of the file being uploaded
                                    // write the contents of the file to stream
                stream.Close();
                return id.ToString();

            }
        }
        catch(Exception ex)
        {
            return null;
        }
    }

    public static string DownloadFile(string id,string fname)
    {
        if (id == null) return null;
        try
        {
            string path = AppDomain.CurrentDomain.BaseDirectory + fname + ".pdf";
            if (File.Exists(path))
            {   // Dont want to delete it but couldnot do overwrite    
                File.Delete(path);
            }
            var options = new GridFSDownloadOptions
            {
                Seekable = true
            };
            using (var stream = CDB.db.fs.OpenDownloadStream(ObjectId.Parse(id), options))
            {
                stream.Seek(0, SeekOrigin.Begin);
                using (var fileStream = File.Create(path))
                {
                    stream.Seek(0, SeekOrigin.Begin);
                    stream.CopyTo(fileStream);
                }
                // read from stream until end of file is reached
                stream.Close();
                return path;
            }
} 
```

Пожалуйста, помогите. включая перезапись файла

...