2

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);
}
4

2 に答える 2

6

これを試して:

System.IO.File.WriteAllText (uploaddir + randomname, decodedData);

メソッドの詳細については、MSDNを参照してくださいWriteAllText

ただし、データをバイト配列に変換し、base64Decodeメソッドで文字列に変換してからファイルに書き込むというアプローチは、IMO が少し複雑すぎます。バイト配列をファイルに書き込むだけで、次のようにデータをデコードできます。

public static byte[] base64Decode(string data)
{
    return Convert.FromBase64String(data);
}

そして電話する

byte[] decodedData = base64Decode(encodedData);
System.IO.File.WriteAllBytes(uploaddir + randomname, decodedData);

WriteAllBytes のドキュメントはこちら

于 2012-11-28T11:10:50.113 に答える
2

最も近い類推はおそらくSystem.IO.File.WriteAllTextです

string uploaddir;
string randomName;
string decodedData;
// ....
System.IO.File.WriteAllText(
  System.IO.Path.Combine(uploaddir, randomName),
  decodedData
);
于 2012-11-28T11:09:13.523 に答える