web-dev-qa-db-fra.com

Est-il possible de lire le fichier dans le même dossier où la fonction Azure existe

Dans ma fonction Azure C #, je dois lire un fichier .txt. Je crée le fichier .txt dans Visual studio et le mets à "copier toujours".

Maintenant j'utilise ce code pour lire le fichier

var dir = System.IO.Path.GetDirectoryName(
    System.Reflection.Assembly.GetEntryAssembly().Location);

var path = System.IO.Path.Combine(dir, "twinkle.txt");

ce code ne fonctionne pas. Lorsque j'ouvre le dossier qui est la valeur de dir. Cela m'a conduit à ce répertoire "" C:\Users {nom d'utilisateur}\AppData\Local\Azure.Functions.Cli\1.0.9 ""

Comment puis-je stocker un simple fichier txt dans la fonction Azure. Ou j'ai besoin d'Azure Storage pour cela.

Tout ce que je peux faire pour y arriver.

Mise à jour pour afficher le fichier copié

enter image description here

8
Anirudha Gupta

Voici comment accéder au bon dossier:

public static HttpResponseMessage Run(HttpRequestMessage req, ExecutionContext context)
{
    var path = System.IO.Path.Combine(context.FunctionDirectory, "twinkle.txt");
    // ...
}

Cela vous amène au dossier avec function.json fichier. Si vous devez accéder au dossier bin, vous devrez probablement monter d'un niveau, puis ajouter bin:

// One level up
Path.GetFullPath(Path.Combine(context.FunctionDirectory, "..\\twinkle.txt"))

// Bin folder
Path.GetFullPath(Path.Combine(context.FunctionDirectory, "..\\bin\\twinkle.txt"))
20
Mikhail Shilkov