Я работаю над .net core api. Я получаю файл .zip в формате base64 на своем контроллере, я хочу преобразовать строку base64 в файл zip, сохранить ее в папке и выполнить некоторые проверки, распаковав файл и сохранив его на лазурном блобе.
Я попытался преобразовать строку base64 в файл и сохранить ее на диске D, но он выдает ошибку
"Доступ к пути 'D: \ Tomcat \ webapps \ detvideos1 \ ContentTempPath \ CIPQA0200 \ abc.zip' запрещен."
Код бизнес-логики UploadContent:
public static void StartTask(JObject jContent)
{
jConfig = LoadConfigJSon();
string path = Convert.ToString(jConfig["ContentUploadPath"]); //ContentUploadPath = D:\\Tomcat\\webapps\\detvideos1\\ContentTempPath
FileWriter fw = new FileWriter();
byte[] file = Convert.FromBase64String(Convert.ToString(jContent["CONTENT"][0]["FILE"]));
if (!Directory.Exists(path))
Directory.CreateDirectory(path);
//path = Convert.ToString(jConfig["ContentUploadPath"]) + "\\" + Convert.ToString(jContent["CLIENTID"]) + Convert.ToString(jContent["REPCODE"]) + "\\" + Convert.ToString(jContent["FILENAME"]);
path = Convert.ToString(jConfig["ContentUploadPath"]) + "\\" + Convert.ToString(jContent["CLIENTID"]) + Convert.ToString(jContent["REPCODE"]) + "\\" + Convert.ToString(jContent["CONTENT"][0]["FILENAME"]);
if (Directory.Exists(path))
{
fw.DeleteDir(path);
}
if(!Directory.Exists(path))
{
Directory.CreateDirectory(path);
}
File.WriteAllBytes(path, file); //I'm getting an error here
}
Запрос параметров к контроллеру:
{
"CLIENTID": "CIPQ",
"REPCODE": "A0200",
"CONTENT": [
{
"FILE": "base 64 string....",
"FILENAME": "abc.zip",
"FILESIZE": "1200"
},
{
"FILE": "base 64 string....",
"FILENAME": "def.png",
"FILESIZE": "14200"
}
]
}
Я уже преобразовал строку base64 в байтовый массив и попытался сохранить байтовый массив в файл, но выдает ошибку, что доступ запрещен.
Я делаю то же самое, используя .Net Framework, и он работает нормально, но не работает с ядром .Net.