//保存地圖圖片實體類
public class Save_Map_Picture
{
private byte[] photo;//公用緩衝區
public string SourFilePath;//源圖片文件路徑
public string ObjFilePath;//目標圖片路徑
public int FileToStream(MemoryStream stream) //文件到流的轉換
{
photo = stream.ToArray();
stream.Close();
return 0;
}
public int StreamToFile() //流轉換爲圖片文件
{
byte[] bytes = photo;
string time = DateTime.Now.ToString();
char[] b = new char[1];
b[0] = ' ';
string[] timearr,timearr_date,timearr_time;
timearr = time.Split(b);
b[0] = '-';
timearr_date = timearr[0].Split(b);
b[0] = ':';
timearr_time = timearr[1].Split(b);
time = timearr_date[0] + "_" + timearr_date[1] + "_" + timearr_date[2]+"_"+timearr_time[0] + "_" + timearr_time[1] + "_" + timearr_time[2];;
FileStream fs = new FileStream("D:\\GPS警車行駛路線圖http://www.cnblogs.com/carekee/admin/file://gps_gj_%22+time+%22.png/", FileMode.Create, FileAccess.Write);
fs.Write(bytes, 0, bytes.Length);
fs.Flush();
fs.Close();
return 0;
}
}
[Serializable]
public class Get_Map_Picture : MapBaseCommand
{
public Get_Map_Picture ()
{
Name = "Get_Map_Picture ";
}
public override void Process()
{
MapControlModel model = MapControlModel.GetModelFromSession();
model.SetMapSize(MapAlias, MapWidth, MapHeight);
try
{
MapInfo.Mapping.Map map = model.GetMapObj(MapAlias);
}
finally
{
System.IO.MemoryStream ms = model.GetMap(MapAlias, MapWidth, MapHeight, ExportFormat);///地圖圖片流
Save_Map_Picture pic = new Save_Map_Picture();
pic.FileToStream(ms); //把地圖流寫入緩衝區
int a=pic.StreamToFile(); //將緩衝區數據寫入文件中
HttpContext.Current.Response.Output.Write(a); //向客戶端報告保存成功與否
}
}
}