Comment obtenir le fichier JPG à partir de CloudFiles sur Rackspace à l'aide d'OpenStack.net

StackOverflow https://stackoverflow.com//questions/22012436

  •  21-12-2019
  •  | 
  •  

Question

Je cours le code ci-dessous dans mon contrôleur dans un projet ASP.NET MVC.Je souhaite activer l'utilisateur de voir ou de télécharger les fichiers que je stocke sur des fichiers cloud sur rackspace.

        var identity =
            new CloudIdentity()
            {
                Username = "username",
                APIKey = "apikey"
            };
        var storage = new CloudFilesProvider(identity);

        Stream jpgStream = new MemoryStream();
        storage.GetObject("files.container", "1.jpg", jpgStream);

        Stream pdfStream = new MemoryStream();
        storage.GetObject("files.container", "2.pdf", pdfStream);

        var jpgResult = File(jpgStream, "Image/jpg", "1.jpg");
        var pdfResult = File(pdfStream, "Application/pdf", "2.pdf");

Le code ci-dessus fonctionne lorsque je retourne PDFRESUT.Je reçois le bon fichier.Mais lorsque je retourne le JPGRESUVE, le navigateur télécharge 1.jpg en tant que fichier 0KB vide.

Est-ce que je fais cela la bonne façon?Toute idée de ce que le problème pourrait être?

Était-ce utile?

La solution

Problème résolu après que j'ai ajouté:

        jpgStream.Position = 0;
        pdfStream.Position = 0;

Avant l'appel de fichier ().Selon la question: fichier est videEt je ne comprends pas pourquoi.ASP.NET MVC Fileresult

Je ne sais pas pourquoi ce n'était pas un problème avec le fichier PDF.

Autres conseils

Vous pouvez également utiliser la méthode getObjectsavetofile.

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top