Comment obtenir le fichier JPG à partir de CloudFiles sur Rackspace à l'aide d'OpenStack.net
-
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?
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.