base64与文件互转
/// <summary>
/// 文件转换成Base64字符串
/// </summary>
/// <param name="fileName">文件绝对路径</param>
/// <returns></returns>
public static String FileToBase64(string fileName)
{
string strRet ="";
try
{
FileStream fs = new FileStream(fileName, FileMode.Open);
byte[] bt = new byte[fs.Length];
fs.Read(bt, 0, bt.Length);
strRet = Convert.ToBase64String(bt);
fs.Close();
}
catch (Exception ex)
{
strRet = null;
}
return strRet;
}
/// <summary>
/// Base64字符串转换成文件
/// </summary>
/// <param name="strInput">base64字符串</param>
/// <param name="fileName">保存文件的绝对路径</param>
/// <returns></returns>
public static bool Base64ToFileAndSave(string strInput, string fileName)
{
bool bTrue = false;
try
{
byte[] buffer = Convert.FromBase64String(strInput);
FileStream fs = new FileStream(fileName, FileMode.OpenOrCreate);
fs.Write(buffer, 0, buffer.Length);
fs.Close();
bTrue = true;
}
catch (Exception ex)
{
}
return bTrue;
}
byte[]与文件互转
/// <summary>
/// 创建文件路径
/// </summary>
/// <param name="filepath"></param>
/// <returns></returns>
public static void CreatePath(string filepath)
{
if (!Directory.Exists(filepath))
{
var securityRules = new DirectorySecurity();
securityRules.AddAccessRule(new FileSystemAccessRule(Environment.UserName, FileSystemRights.FullControl, AccessControlType.Allow));
securityRules.AddAccessRule(new FileSystemAccessRule("Everyone", FileSystemRights.FullControl, AccessControlType.Allow));
securityRules.AddAccessRule(new FileSystemAccessRule("NETWORK SERVICE", FileSystemRights.FullControl, AccessControlType.Allow));
Directory.CreateDirectory(filepath, securityRules);
}
}
/// <summary>
/// 文件转byte[]
/// </summary>
/// <param name="fileName"></param>
/// <returns></returns>
public static byte[] ReadFileToByte(string fileName)
{
FileStream pFileStream = null;
byte[] pReadByte = new byte[0];
try
{
pFileStream = new FileStream(fileName, FileMode.Open, FileAccess.Read);
BinaryReader r = new BinaryReader(pFileStream);
r.BaseStream.Seek(0, SeekOrigin.Begin); //将文件指针设置到文件开
pReadByte = r.ReadBytes((int)r.BaseStream.Length);
return pReadByte;
}
catch
{
return pReadByte;
}
finally
{
if (pFileStream != null)
{
pFileStream.Close();
}
}
}
/// <summary>
/// 保存文件
/// </summary>
/// <param name="file"></param>
/// <param name="fileName"></param>
/// <returns></returns>
public static bool SaveFile(byte[] file,string fileName)
{
bool isSave = false;
try
{
using (var ms = new MemoryStream())
{
MemoryStream m = new MemoryStream(file);
FileStream fs = new FileStream(fileName, FileMode.OpenOrCreate);
m.WriteTo(fs);
m.Close();
fs.Close();
}
isSave = true;
}
catch(Exception ex)
{
}
return isSave;
}