我正在研究.net核心api。我正在控制器中接收base64格式的.zip文件,我想将base64字符串转换为zip文件,将其保存在文件夹中,并通过解压缩文件并将其存储在天蓝色的blob中进行一些验证。
我尝试将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框架做同样的事情,并且工作正常,但这不适用于.Net核心。