tijian_tieying/web/Web/App_Code/Common.cs
2025-02-20 12:14:39 +08:00

213 lines
6.2 KiB
C#

using System;
using System.Data;
using System.Configuration;
using System.Web;
using System.Web.Security;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.Web.UI.WebControls.WebParts;
using System.Web.UI.HtmlControls;
using System.Text.RegularExpressions;
using System.IO;
using System.Net;
/// <summary>
/// Common 的摘要说明
/// </summary>
public class Common
{
public Common()
{
//
// TODO: 在此处添加构造函数逻辑
//
}
/// <summary>
/// 获取文本编辑器的数据,并自动上传远程图片
/// </summary>
/// <param name="uc">文本编辑器数据</param>
/// <returns></returns>
public string GetText(string str)
{
string mycontext = Regex.Replace(str, @"src[^>]*[^/].(?:jpg|bmp|gif|png|jpeg|JPG|BMP|GIF|JPEG)(?:\""|\')", new MatchEvaluator(SaveYuanFile));
return mycontext;
}
private string SaveYuanFile(Match m)
{
string imgurl = "";
string matchstr = m.Value;//str[i].ToString();
string tempimgurl = "";
tempimgurl = matchstr.Substring(5);
tempimgurl = tempimgurl.Substring(0, tempimgurl.IndexOf("\""));
Regex re = new Regex(@"^http://*");
if (re.Match(tempimgurl).Success)
{
matchstr = matchstr.Substring(5);
matchstr = matchstr.Substring(0, matchstr.IndexOf("\""));
//Response.Write(matchstr + "<br>");
//远程文件保存路径
string Folders = ConfigurationManager.AppSettings["yuanimg"].ToString();
string fullname = matchstr;
string huozui = fullname.Substring(fullname.LastIndexOf("."));
string filename = Common.GetFileName();
string path = Folders + filename + huozui;
//Folders+fullname.Substring(fullname.LastIndexOf("\\") + 1);
if (System.IO.File.Exists(System.Web.HttpContext.Current.Request.MapPath(path)))
System.IO.File.Delete(System.Web.HttpContext.Current.Request.MapPath(path));
GetHttpFile(matchstr, System.Web.HttpContext.Current.Request.MapPath(path));
imgurl = "src=\"" + path.Replace("~/", "") + "\"";
}
else
{
imgurl = matchstr;
}
return imgurl;
}
string sException = null;
private bool GetHttpFile(string sUrl, string sSavePath)
{
bool bRslt = false;
WebResponse oWebRps = null;
WebRequest oWebRqst = WebRequest.Create(sUrl);
oWebRqst.Timeout = 100000;
try
{
oWebRps = oWebRqst.GetResponse();
}
catch (WebException e)
{
sException = e.Message.ToString();
}
catch (Exception e)
{
sException = e.ToString();
}
finally
{
if (oWebRps != null)
{
BinaryReader oBnyRd = new BinaryReader(oWebRps.GetResponseStream(), System.Text.Encoding.GetEncoding("GB2312"));
int iLen = Convert.ToInt32(oWebRps.ContentLength);
FileStream oFileStream;
try
{
if (File.Exists(System.Web.HttpContext.Current.Request.MapPath("RecievedData.tmp")))
{
oFileStream = File.OpenWrite(sSavePath);
}
else
{
oFileStream = File.Create(sSavePath);
}
oFileStream.SetLength((Int64)iLen);
oFileStream.Write(oBnyRd.ReadBytes(iLen), 0, iLen);
oFileStream.Close();
}
catch (Exception ex)
{
throw ex;
}
finally
{
oBnyRd.Close();
oWebRps.Close();
}
bRslt = true;
}
}
return bRslt;
}
/// <summary>
/// 文件上传
/// </summary>
/// <param name="fileupload">文件上传实例</param>
/// <returns>保存的文件名称</returns>
public static string UpLoadFile(FileUpload fileupload, string Folders)
{
//string Folders = "~/admin/eWebEditor/UpLoadFile/";
string fullname = fileupload.PostedFile.FileName;
if ((fullname == null) || (fullname.Equals("")))
return "";
string huozui = fullname.Substring(fullname.LastIndexOf("."));
string filename = GetFileName();
string p1 = Folders + filename + huozui;
//Folders + fullname.Substring(fullname.LastIndexOf("\\") + 1);
string path = System.Web.HttpContext.Current.Server.MapPath(p1);
if (System.IO.File.Exists(path))
System.IO.File.Delete(path);
fileupload.PostedFile.SaveAs(path);
return p1;
}
public static string GetFileName()
{
System.Threading.Thread.Sleep(1000);
string str1 = System.DateTime.Now.Year.ToString() + "-";
if ((System.DateTime.Now.Month).ToString().Length < 2)
{
str1 += "0" + System.DateTime.Now.Month.ToString() + "-";
}
else
{
str1 += System.DateTime.Now.Month.ToString() + "-";
}
if ((System.DateTime.Now.Day).ToString().Length < 2)
{
str1 += "0" + System.DateTime.Now.Day.ToString() + "-";
}
else
{
str1 += System.DateTime.Now.Day.ToString() + "-";
}
if ((System.DateTime.Now.Hour).ToString().Length < 2)
{
str1 += "0" + System.DateTime.Now.Hour.ToString() + "-";
}
else
{
str1 += System.DateTime.Now.Hour.ToString() + "-";
}
if ((System.DateTime.Now.Minute).ToString().Length < 2)
{
str1 += "0" + System.DateTime.Now.Minute.ToString() + "-";
}
else
{
str1 += System.DateTime.Now.Minute.ToString() + "-";
}
if ((System.DateTime.Now.Second).ToString().Length < 2)
{
str1 += "0" + System.DateTime.Now.Second.ToString();
}
else
{
str1 += System.DateTime.Now.Second.ToString();
}
return str1;
}
}