You cannot select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
88 lines
2.8 KiB
C#
88 lines
2.8 KiB
C#
using MySql.Data.MySqlClient;
|
|
using System;
|
|
using System.Collections.Generic;
|
|
using System.Configuration;
|
|
using System.Data;
|
|
using System.IO;
|
|
using System.Linq;
|
|
using System.Text;
|
|
using System.Threading.Tasks;
|
|
|
|
namespace Txgy.EWS.Client.PageModule.Services
|
|
{
|
|
public class DownloadJsonFile
|
|
{
|
|
public int Download(string eventTime, string savePath, string saveName, string tableName)
|
|
{
|
|
string connStr = ConfigurationManager.ConnectionStrings["TencetnMySQL"].ConnectionString;
|
|
MySqlConnection RemoteConn = new MySqlConnection(connStr);
|
|
string courseSql = @"select JsonFile from " + tableName + " where EventTime=@eventTime";
|
|
MySqlCommand Comm = new MySqlCommand(courseSql, RemoteConn);
|
|
MySqlDataReader DataReader = null;
|
|
try
|
|
{
|
|
if (RemoteConn.State != ConnectionState.Open)
|
|
{
|
|
RemoteConn.Open();
|
|
}
|
|
|
|
Comm.Parameters.AddWithValue("@eventTime", eventTime);
|
|
DataReader = Comm.ExecuteReader();
|
|
List<byte> wds = new List<byte>();
|
|
//开始读数据
|
|
while (DataReader.Read())
|
|
{
|
|
byte[] blob;
|
|
blob = (byte[])DataReader["JsonFile"];
|
|
if (blob.Length == 0)
|
|
break;
|
|
wds.AddRange(blob);
|
|
}
|
|
string jsonPath = savePath + saveName;
|
|
if (!Directory.Exists(savePath))
|
|
{
|
|
Directory.CreateDirectory(savePath);
|
|
}
|
|
int len = -1;
|
|
using (FileStream fs = new FileStream(jsonPath, FileMode.OpenOrCreate))
|
|
{
|
|
using (BinaryWriter binWriter = new BinaryWriter(fs))
|
|
{
|
|
binWriter.Write(wds.ToArray());
|
|
len = (int)new FileInfo(jsonPath).Length;
|
|
}
|
|
}
|
|
if (len == wds.Count)
|
|
{
|
|
return wds.Count;
|
|
}
|
|
return -1;
|
|
|
|
}
|
|
catch(Exception ex)
|
|
{
|
|
throw ex;
|
|
}
|
|
finally
|
|
{
|
|
if (DataReader != null)
|
|
{
|
|
DataReader.Dispose();
|
|
DataReader = null;
|
|
}
|
|
if (Comm != null)
|
|
{
|
|
Comm.Dispose();
|
|
Comm = null;
|
|
}
|
|
if (RemoteConn != null)
|
|
{
|
|
RemoteConn.Close();
|
|
RemoteConn.Dispose();
|
|
RemoteConn = null;
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|