项目配置文件虚拟路径

//配置文件

项目当前地址+虚拟路径地址

<add key="SaveFilePath" value="E:\项目代码\研发部\zzjz\源码\Hzjg.AutoBulidSite\Hzjg.AutoBulidSite.Web\files\infopic\"/>

protected void Page_Load(object sender, EventArgs e)

{

try

{

string sPathOld = "";

string sPathNew = "";

bool isSuccess = false;

//虚拟路径

string ficPath = "";

//返回图片存放地址

Hashtable hash = new Hashtable();

#region 附件信息

HttpFileCollection files = Request.Files;

for (int j = 0; j < files.Count; j++)

{

var file = files[j];

if (!string.IsNullOrEmpty(file.FileName))

{

try

{

string keyid = Request.QueryString["keyid"];

if (!string.IsNullOrWhiteSpace(keyid))

{

#region 上传图片,并返还地址

//组合虚拟路径

ficPath = "/files/infopic/" + DateTime.Now.Year.ToString() + "/" + DateTime.Now.Month.ToString() + "/" + DateTime.Now.Day.ToString() + "/" + keyid + Path.GetExtension(file.FileName);

//旧的物理路径

sPathOld = Hzjg.Common.Config.ConfigManage.fGetAppConfig("SaveFilePath") + DateTime.Now.Year.ToString() + "\\" + DateTime.Now.Month.ToString() + "\\" + DateTime.Now.Day.ToString() + "\\old" + keyid + Path.GetExtension(file.FileName);

string sPath = Path.GetDirectoryName(sPathOld);

if (!Directory.Exists(sPath))

{

Directory.CreateDirectory(sPath);

}

file.SaveAs(sPathOld);

//压缩过的图片,新的物理路径

sPathNew = Hzjg.Common.Config.ConfigManage.fGetAppConfig("SaveFilePath") + DateTime.Now.Year.ToString() + "\\" + DateTime.Now.Month.ToString() + "\\" + DateTime.Now.Day.ToString() + "\\" + keyid + Path.GetExtension(file.FileName);

isSuccess = GetPicThumbnail(sPathOld, sPathNew, 500, 500, 80);

File.Delete(sPathOld);

#endregion

}

}

catch (Exception ex) { }

}

}

#endregion

if (isSuccess)

{

hash["PHOTOID"] = ficPath;

}

else

{

hash["PHOTOID"] = "";

}

Response.AddHeader("Content-Type", "text/html; charset=UTF-8");

Response.Write(Hzjg.GlobalExpand.ToJson(hash));

}

catch (Exception ex)

{

Hzjg.Common.Utility.Log.fWriterLog("信息图片上传操作页面加载出错", ex);

}

}

#region 无损压缩图片

/// <summary>

/// 无损压缩图片

/// </summary>

/// <param name="sFile">原图片</param>

/// <param name="dFile">压缩后保存位置</param>

/// <param name="dHeight">高度</param>

/// <param name="dWidth">宽度</param>

/// <param name="flag">压缩质量 1-100</param>

/// <returns></returns>

public bool GetPicThumbnail(string sFile, string dFile, int dHeight, int dWidth, int flag)

{

System.Drawing.Image iSource = System.Drawing.Image.FromFile(sFile);

ImageFormat tFormat = iSource.RawFormat;

int sW = 0, sH = 0;

//按比例缩放

Size tem_size = new Size(iSource.Width, iSource.Height);

if (tem_size.Width > dHeight || tem_size.Width > dWidth)

{

if ((tem_size.Width * dHeight) > (tem_size.Height * dWidth))

{

sW = dWidth;

sH = (dWidth * tem_size.Height) / tem_size.Width;

}

else

{

sH = dHeight;

sW = (tem_size.Width * dHeight) / tem_size.Height;

}

}

else

{

sW = tem_size.Width;

sH = tem_size.Height;

}

Bitmap ob = new Bitmap(dWidth, dHeight);

Graphics g = Graphics.FromImage(ob);

g.Clear(Color.WhiteSmoke);

g.CompositingQuality = CompositingQuality.HighQuality;

g.SmoothingMode = SmoothingMode.HighQuality;

g.InterpolationMode = InterpolationMode.HighQualityBicubic;

g.DrawImage(iSource, new Rectangle((dWidth - sW) / 2, (dHeight - sH) / 2, sW, sH), 0, 0, iSource.Width, iSource.Height, GraphicsUnit.Pixel);

g.Dispose();

//以下代码为保存图片时,设置压缩质量

EncoderParameters ep = new EncoderParameters();

long[] qy = new long[1];

qy[0] = flag;//设置压缩的比例1-100

EncoderParameter eParam = new EncoderParameter(System.Drawing.Imaging.Encoder.Quality, qy);

ep.Param[0] = eParam;

try

{

ImageCodecInfo[] arrayICI = ImageCodecInfo.GetImageEncoders();

ImageCodecInfo jpegICIinfo = null;

for (int x = 0; x < arrayICI.Length; x++)

{

if (arrayICI[x].FormatDescription.Equals("JPEG"))

{

jpegICIinfo = arrayICI[x];

break;

}

}

if (jpegICIinfo != null)

{

ob.Save(dFile, jpegICIinfo, ep);//dFile是压缩后的新路径

}

else

{

ob.Save(dFile, tFormat);

}

return true;

}

catch

{

return false;

}

finally

{

iSource.Dispose();

ob.Dispose();

}

}

#endregion

时间: 2024-11-09 02:06:32

项目配置文件虚拟路径的相关文章

jsp网页在浏览器中不显示图片_eclipse环境下配置tomcat中jsp项目的虚拟路径

遇到的问题是这种,在jsp网页中嵌入了本地的图片,由于会用到上传到服务器的图片,所以没有放到项目里面,而是把全部图片单独放到一个文件夹里,然后打算使用绝对路径把要显示的图片显示出来.比方是放在了E盘的uploadPhotos文件夹里.可是在使用绝对路径显示时.代码例如以下: <img width="200" height="150" src="E:\uploadPhotos\DSC00216.jpg" border="1"

Tomcat之——配置项目有虚拟路径

转载请注明出处:http://blog.csdn.net/l1028386804/article/details/47024863 非常easy,在Tomcat的Server.xml文件里的Host节点下加一行代码就可以,例如以下 <Context path="/upload" docBase="/home/tea/upload/" reloadable="true" debug="0"></Context&

JAVA学习-JAVA Web项目虚拟路径

http://127.0.0.1:8888/MyFristWebApp/index.jsp 以上面的URL为例子,MyFristWebApp  这个就是项目的名字.可以修改.修改方式为: 右键项目,选择Properties->MyEclipse->Project Facets->Web.右边的Web Context-root就是项目的虚拟路径. index.jsp就是索要访问的资源的名字.

Tomcat下配置虚拟路径管理web项目

关于虚拟路径.在学习javaweb的培训课程,今天老师给出了这样一个场景. 当我们的项目,在有一个项目不同的目录的时候,我们如何去使用tomcat去管理web项目. 老师提出的解决方案是 利用虚拟路径的方式,并且按照如下方式对tomcat进行配置.使得 tomcat可以管理不同目录上的项目. 我的问题:项目不是转换成war包发布到tomcat上吗,然后放在了webapps目录下面吗? 或者直接把项目放置webapps下面. 1.为什么有可能出现 管理不同目录下的web项目呢? 2.上面两种方式,

项目打jar包后无法获取配置文件的路径问题

项目打jar包后无法获取配置文件的路径问题 今天在开发中做一个java项目,要求读取配置文件中的信息,当项目打jar包以后就找不到配置文件了,问题最后解决了,拿出来跟大家分享一下. 方式一:getResource(这种方式在war包好用,在jar包不好用): public static void main(String[] args) { String path=App.class.getClassLoader().getResource("config.properties").ge

php中如何配置项目虚拟路径

php虚拟目录的设置在apache目录下打开conf->httpd.conf文件,找到<IfModule dir_module>,在</IfModule>后面添加如下代码: #虚拟目录节点 <IfModule dir_module> #设置欢迎界面 DirectoryIndex index.php index.html index.htm Alias  /php  "F:/phpspace" #介绍"/php"是虚拟路径,&

19-Javaweb项目读取本地图片通过虚拟路径

有时会把文件存在本地如将图片等放在c.d盘等,在javaweb引用时会出现无法直接访问的问题,但是还是有办法解决的. 可以通过配置虚拟路径: 步骤一: 双击servers下面的tomcat, 在弹出的窗口下面选择 Modules 进行如下配置: 上面框里填你本地路径,下面框里填写你的虚拟路径,例如:D:\        dataResourceImages 在使用时,就可以使用 dataResourceImages代替 d:\, 同时可以在dataResourceImages后面拼接一下子路径,

TOMCAT虚拟路径配置

在tomcat安装好后,只要把你的web项目copy到%TOMCAT_HOME%webapp下面就可以是使用啦!!其实还有种方法就是设定虚拟目录,即把项目的目录映射到tomcat中.这样做即可以不用重复的部署,节约时间,而且给开发人员带来方便.方法如下:1,找到%TOMCAT_HOME%/conf/server.xml,(即tomcat的安装目录下面相关的文件)打开此xml文件,在 <host> </host>之间加入如下代码: <Context path="&qu

JavaWeb学习之什么是Servlet、如何使用servlet、为什么这样使用、servlet的虚拟路径(2)

1.什么是Servlet? * 服务器端Java程序,servlet需要交给服务器来运行. * 与javax.servlet.Servlet接口有关的java程序 2.如何使用servlet?[必须] * 创建web项目 * 创建一个类,并实现Servlet接口 * 交给服务器运行 /WEB-INF/web.xml <!-- 注册servlet <servlet>标签:进行servlet注册 <servlet-class>标签:确定servlet类所在位置 * 内容:需要注册