La manipulation FileContentResult lorsque le fichier n'est pas trouvé

J'ai un contrôleur de l'action qui télécharge un fichier à partir d'un azure blob basée sur le conteneur nom de référence (c'est à dire nom de chemin complet du fichier dans la goutte). Le code ressemble à ceci:

public FileContentResult GetDocument(String pathName)
{
    try
    {
        Byte[] buffer = BlobStorage.DownloadFile(pathName);
        FileContentResult result = new FileContentResult(buffer, "PDF");
        String[] folders = pathName.Split(new char[] { '\\' }, StringSplitOptions.RemoveEmptyEntries);
        //get the last one as actual "file name" based on some convention
        result.FileDownloadName = folders[folders.Length - 1];

        return result;
    }
    catch (Exception ex)
    {
        //log error
    }
    //how to handle if file is not found?
    return new FileContentResult(new byte[] { }, "PDF");
}

La BlobStorage classe, ma classe helper télécharger le ruisseau de la goutte.

Ma question est indiqué dans le commentaire de code: Comment dois-je gérer le scénario quand le fichier/stream n'est pas trouvé? Actuellement, je suis passant à un vide de fichier PDF, ce qui me semble pas la meilleure façon de le faire.

Ceci est appelé à partir de la vue via javascript.
Quel doit être le type de données sur l'appel ajax? @Alex R pourriez-vous également de montrer comment l'appel ajax est faite dans la vue, il serait utile.
La question est déjà une réponse. Vous êtes aussi ayant le même problème? L'appel du javascript est tout simplement window.location.href = "GetDocument?pathName=" + docPath;. Qui va appeler le contrôleur de l'action ci-dessus et de répondre en conséquence.
oui je l'ai , je ne suis pas en mesure d'ouvrir le fichier de mon point de vue, ressemble à ceci var options = { iframe: true, dataType: "html", url: "Upload/Previewfile" }; fichier de prévisualisation est similaire à votre GetDocument après l'exécution de cette ishould obtenir contextuel pour ouvrir le fichier, mais je ne suis pas arriver.Avez-vous une idée ou je poste une question? merci.
Ouais, mieux poster comme une question distincte. Voilà comment cela fonctionne ici. Je serai heureux de vous aider si je le peux.

OriginalL'auteur Alex R. | 2011-06-23