Nel nuovo mondo ASP.NET core quando abbiamo distribuire Abbiamo 2 cartelle AppRoot e wwwroot
abbiamo in genere solo mettere i file sotto la cartella wwwroot che intendiamo servire direttamente con le richieste http. Quindi se i file JSON devono essere serviti direttamente, cioè consumati dal lato client js, allora forse li metteresti lì, altrimenti useresti una cartella diversa sotto appRoot.
Mostrerò di seguito come risolvere i percorsi per entrambi gli scenari, ad esempio il codice di esempio su come salvare una stringa json in una cartella sotto appRoot o wwwroot. In entrambi i casi pensate alla vostra posizione come un percorso relativo virtuale ad una di queste cartelle, vale a dire/some/cartella/percorso in cui il primo/rappresenta sia AppRoot o wwwroot
public class MyFileProcessor
{
public MyFileProcessor(IHostingEnvironment env, IApplicationEnvironment appEnv)
{
hostingEnvironment = env;
appEnvironment = appEnv;
appRootFolder = appEnv.ApplicationBasePath;
}
private IHostingEnvironment hostingEnvironment;
private IApplicationEnvironment appEnvironment;
private string appRootFolder;
public void SaveJsonToAppFolder(string appVirtualFolderPath, string fileName string jsonContent)
{
var pathToFile = appRootFolder + appVirtualFolderPath.Replace("/", Path.DirectorySeparatorChar.ToString())
+ fileName;
using (StreamWriter s = File.CreateText(pathToFile))
{
await s.WriteAsync(jsonContent);
}
}
public void SaveJsonToWwwFolder(string virtualFolderPath, string fileName string jsonContent)
{
var pathToFile = hostingEnvironment.MapPath(virtualFolderPath) + fileName;
using (StreamWriter s = File.CreateText(pathToFile))
{
await s.WriteAsync(jsonContent);
}
}
}
fonte
2016-04-06 11:55:50
se avete bisogno di ulteriore codice di esempio, ho un progetto qui dove sto salvando i post del blog come file xml e pagine di contenuto come file json https://github.com/joeaudette/cloudscribe.SimpleContent –
Ho un problema in cui non vorrei salvare i file caricati in una cartella esterna il mio webroot come un percorso UNC o qualcosa del genere. È possibile? –