我正在将PHP文件转换为C#,完成75%,坚持使用这些行
if(file_put_contents($uploaddir.$randomName, $decodedData)) {
//echo $randomName.":uploaded successfully"; //NO NEED TO CONVERT ECHO PART
}
PHP兄弟请帮忙
更多信息
我转换了 此
// Encode it correctly
$encodedData = str_replace(' ','+',$data[1]);
$decodedData = base64_decode($encodedData);
到此
// Encode it correctly
string encodedData = data[1].Replace(' ', '+');
string decodedData = base64Decode(encodedData);
其中base64Decode 是
public static string base64Decode(string data)
{
byte[] binary = Convert.FromBase64String(data);
return Encoding.Default.GetString(binary);
}
答案 0 :(得分:5)
试试这个:
System.IO.File.WriteAllText (uploaddir + randomname, decodedData);
有关WriteAllText
方法的详细信息,请参阅MSDN。
但是,您将数据转换为字节数组,然后将其转换为base64Decode
方法中的字符串,然后将其写入文件的方法有点过于复杂IMO。您可以将字节数组写入文件,对数据进行解码,如下所示:
public static byte[] base64Decode(string data)
{
return Convert.FromBase64String(data);
}
然后致电
byte[] decodedData = base64Decode(encodedData);
System.IO.File.WriteAllBytes(uploaddir + randomname, decodedData);
WriteAllBytes文档here。
答案 1 :(得分:2)
最近的类比可能是System.IO.File.WriteAllText
string uploaddir;
string randomName;
string decodedData;
// ....
System.IO.File.WriteAllText(
System.IO.Path.Combine(uploaddir, randomName),
decodedData
);