Hi
I keep getting this error if Im using UTF7?
An unhandled exception of type 'System.ArgumentException' occurred in
mscorlib.dll
Additional information: Conversion buffer overflow.
Only trying to change a path of an image to an binary string. can someone
help me with this error?
ps. If I use UTF8 I receive no error????
Function
private static void ConvertImages(cIni _ini)
{
FileInfo finfo = new FileInfo(_ini.FilePath);
string sline = "";
if(finfo.Exists)
{
string delimStr = ";";
char[] del = delimStr.ToCharArray();
StreamReader stream_reader;
StreamReader stream_reader_tempfile;
m_sTempPath = _ini.FilePath + "temp";
//Ensure that the file does not exist
File.Delete(m_sTempPath);
File.Copy(_ini.FilePath,m_sTempPath);
stream_reader_tempfile = new
StreamReader(m_sTempPath,System.Text.Encoding.UTF7 );//File.OpenText(m_sTempP
ath);
string sContentsTemp = stream_reader_tempfile.ReadToEnd();
stream_reader_tempfile.Close();
//StreamWriter streamWriter_temp = File.CreateText(m_sTempPath);
StreamWriter streamWriter_temp = new
StreamWriter(m_sTempPath,true,System.Text.Encoding .UTF7);
using(stream_reader = new StreamReader(finfo.FullName,
System.Text.Encoding.UTF7))
{
sline = "";
FileStream fsImages;
while((sline = stream_reader.ReadLine()) != null)
{
string[] sArr = sline.Split(del,24);
for(int i = 3; i < 8; i++)
{
if(sArr[i].ToString() != String.Empty)
{
FileInfo fiMynd = new FileInfo(sArr[i].ToString());
if(fiMynd.Exists)
{
fsImages = new FileStream(fiMynd.FullName, FileMode.Open,
FileAccess.ReadWrite);
BinaryReader br = new BinaryReader(fsImages);
br.BaseStream.Position = 0;
byte[] barrImage = br.ReadBytes((int)br.BaseStream.Length);
string sBI = sContentsTemp.Replace(sArr[i].ToString(),
System.Text.UTF7Encoding.UTF7.GetString(barrImage) );
/************************************************** */
streamWriter_temp.Write(sBI); //ERROR
/************************************************** */
fsImages.Close();
}
}
}
}
}
stream_reader.Close();
stream_reader_tempfile.Close();
streamWriter_temp.Close();
}
}