C#上传图片
//一般处理程序
public void GetImageFromWeb()
{ //创建文件夹 //2016-10-14 dq
string filePath = "~/ProductImage/";
string mapFilePath;
mapFilePath = HttpContext.Current.Server.MapPath(filePath);
if (!Directory.Exists(mapFilePath))
{
Directory.CreateDirectory(mapFilePath);
}
filePath += userEntity.User_ID + "/";
mapFilePath = HttpContext.Current.Server.MapPath(filePath);
if (!Directory.Exists(mapFilePath))
{
Directory.CreateDirectory(mapFilePath);
}
//2016-10-14 注释 dq //写入数据库的路径
string imgUrl = "/ProductImage/" + userEntity.User_ID + "/"; // 图片数据 HttpFileCollection files = System.Web.HttpContext.Current.Request.Files;
string fileName = files[].FileName;
string name = System.IO.Path.GetFileName(fileName);
Stream stream = files[].InputStream;
byte[] bytes = new byte[stream.Length];
stream.Read(bytes, , bytes.Length);
// 设置当前流的位置为流的开始
stream.Seek(, SeekOrigin.Begin);
ResImgUpLoadData entity = WS.UploadImgs(bytes, mapFilePath, name, imgUrl, userEntity); BaseReturn(entity); }
//C#代码
#region 图片上传
/// <summary>
// 功能简述:接口公开方法,图片上传
// 开发文档:无
// 开发团队:新产品组
// 设计:邓
// 分析:邓
// 代码:邓
// 开发时间:2016.3.10
// 代码检查:
// 是否在使用:是
/// <summary>
/// 上传图片
/// </summary>
/// <param name="bytes">图片信息</param>
/// <param name="pFileName">文件夹名称</param>
/// <param name="pImgName">图片名称</param>
/// <param name="pImgPath">写入数据库的图片路径</param>
/// <param name="pUserInfo">操作人</param>
/// <returns></returns>
/// public ProductOnShelvesDML.ResImgUpLoadData UploadImgs(byte[] bytes, string pFileName, string pImgName, string pImgPath, UserDML.UserLoginInfo pUserInfo)
{
return pUploadImgs(bytes, pFileName,pImgName, pImgPath,pUserInfo);
} private ProductOnShelvesDML.ResImgUpLoadData pUploadImgs(byte[] bytes,string pFileName,string pImgName, string pImgPath,UserDML.UserLoginInfo pUserInfo)
{
ProductOnShelvesDML.ResImgUpLoadData objResult=new ProductOnShelvesDML.ResImgUpLoadData();
//V_User_DB_Info objUserDBRes;
//PublicCommonDML.ResComm objResComm;
//Common objCommonDB; //objResult = new ProductOnShelvesDML.ResImgUpLoadData();
//objCommonDB = new Common();
Common objCommonDB = new Common();
PublicCommonDML.ResComm objResComm = new PublicCommonDML.ResComm(); ; try
{
string CommomString = "";//保存连接实体String
// 验证用户信息,并获得连接实体
// 代码:邓奇
// 开发时间:2016-10-17
SYSCEntityDBAddLogic objSYSCEntityDBAddLogic = new SYSCEntityDBAddLogic();
objResComm = objSYSCEntityDBAddLogic.GetUserDBString(pUserInfo.User_ID, pUserInfo.User_PWD);
if (objResComm.ResState == PublicCommonDML.ResFlag.Success)
{
CommomString = objSYSCEntityDBAddLogic.ConectionSring;
}
else
{
objResult.ResComm = objResComm;
return objResult;
} //服务器端创建文件夹并保存在WS端 //string filePath = "myImg";
//string mapFilePath;
//mapFilePath = HttpContext.Current.Server.MapPath(filePath);
//if (!Directory.Exists(mapFilePath))
// Directory.CreateDirectory(mapFilePath);
//filePath += pUserInfo.User_ID + "/";
//mapFilePath = HttpContext.Current.Server.MapPath(filePath);
//if (!Directory.Exists(mapFilePath))
// Directory.CreateDirectory(mapFilePath);
//filePath += pUserInfo.User_ID + "/";
//mapFilePath = HttpContext.Current.Server.MapPath(filePath);
//if (!Directory.Exists(mapFilePath))
// Directory.CreateDirectory(mapFilePath);
// 图片数据
//Stream stream = new MemoryStream(bytes);//数据转换
//MemoryStream ms = new MemoryStream();
//System.Drawing.Image img = System.Drawing.Image.FromStream(stream);
//img.Save(pFileName + pImgName);//保存
//ms.Close();
//string path = mapFilePath + pImgName;
//objResult.ResComm.ResState = PublicCommonDML.ResFlag.Success;
//objResult.ResComm.ResMessage = path;//返回图片路径
//return objResult; ////pFileName-----不需从前端传进,由配置文件设置
//string PhysicalAddress = System.Configuration.ConfigurationSettings.AppSettings["PhysicalAddress"];//存放图片的物理位置以及名称
//pFileName = @PhysicalAddress;
//pFileName += pUserInfo.User_ID + "\\";
//if (!Directory.Exists(pFileName))
//{
// Directory.CreateDirectory(pFileName);//创建文件夹
//}
//string IPAddress = System.Configuration.ConfigurationSettings.AppSettings["IPAddress"];//存放图片的物理位置对应的项目IP //创建文件夹(在一般处理程序完成)并保存在WEB端 //限制图片格式
bool Isimage = false;
string suff = pImgName.Substring(pImgName.LastIndexOf('.'), pImgName.Length - pImgName.LastIndexOf('.')); //获取文件后缀
string[] allowExtension = { ".jpg", ".jpeg", ".gif", ".bmp", ".png", ".JPG", ".JPEG", ".GIF", ".BMP", ".PNG" };
for (int i = ; i < allowExtension.Length; i++)
{
if (suff == allowExtension[i])
{
Isimage = true;
break;
}
else
{ Isimage = false; }
}
if (!Isimage)
{
objResult.ResComm.ResState = PublicCommonDML.ResFlag.Fail;
objResult.ResComm.ResMessage = "图片格式不正确,上传失败";
return objResult;
} // 图片数据
Stream stream = new MemoryStream(bytes);//数据转换
if (stream.Length > ) //1M
{
objResult.ResComm.ResState = PublicCommonDML.ResFlag.Fail;
objResult.ResComm.ResMessage = "图片大小超过1M,上传失败";
return objResult;
}
else
{
MemoryStream ms = new MemoryStream();
System.Drawing.Image img = System.Drawing.Image.FromStream(stream);
string imgName = DateTime.Now.ToString("yyyyMMddHHmmssffff") + suff; //图片名称
img.Save(pFileName + imgName);//保存
ms.Close(); string path = pFileName + imgName;//图片全路径
objResult.ResComm.ResState = PublicCommonDML.ResFlag.Success;
objResult.img_url = pImgPath+imgName;//返回图片相对路径
objResult.ResComm.ResMessage = "上传成功";
} return objResult; }
catch (Exception ex)
{
string strMsg;
string strErrMsg;
strMsg = pUserInfo.User_ID + "\r\n" + pUserInfo.User_PWD + "\r\n" + ACCPCWS.MyCommons.Common.DMLToXML(pImgName.GetType(), pImgName);
strErrMsg = LogLogic.WriteLog(ex, "E100008", strMsg);
if (strErrMsg == "")
{
objResult.ResComm.ResState = PublicCommonDML.ResFlag.Error;
objResult.ResComm.ResMessage = "系统服务器维护中,请稍后重试。";
}
else
{
objResult.ResComm.ResState = PublicCommonDML.ResFlag.SysErrorMsg;
objResult.ResComm.ResMessage = strErrMsg;
}
} return objResult;
} #endregion
C#上传图片的更多相关文章
- 博客使用BOS上传图片
1.博客平台的选定 从大学开始做个人主页算起,最开始是使用html,CSSS写简单的页面,后面大学毕业之后接触到了WordPress,就开始用WordPress搭建网站.现在还维护着一个农村网站.ht ...
- nodejs利用ajax实现网页无刷新上传图片
nodejs利用ajax实现网页无刷新上传图片 标签(空格分隔): nodejs 通常情况下上传图片是要通过提交form表单来实现的,但是这又不可避免的产生了网页转. 利用ajax技术和FormDat ...
- -Android -线程池 批量上传图片 -附php接收代码
(出处:http://www.cnblogs.com/linguanh/) 目录: 1,前序 2,类特点 3,用法 4,java代码 5,php代码 1,前序 还是源于重构,看着之前为赶时间写着的碎片 ...
- iOS 原生HTTP POST请求上传图片
今天项目里做一个上传图片等个人信息的时候,使用了第三方AFNetworking - (AFHTTPRequestOperation *)POST:(NSString *)URLString param ...
- 大朋展翅 html5上传图片(三)一解决部分手机拍相册批量上传图片转向问题
在经过前面的改进之后本来以为已经没有问题了,但经过我们神通广大的测试的测试,发现相册中的图片在上传时也会发生转向问题.既然前面都解决了拍照转向的问题,那么相册中图片的上传也容易解决.修改一下需要旋转图 ...
- html5上传图片(一)一跨域上传
最近开发一个上传图片的模块,传图片的接口不支持跨域上传,并且只支持单张上传,而我们的产品要求要实现多张上传.我搞了一个代理页面,先将图片传到代理页面,然后再通过代理页面传到上传图片接口.虽然这种方式经 ...
- h5上传图片及预览
第一次做图片上传,记录一些问题. 1,图片的base64编码就是可以将一副图片数据编码成一串字符串,使用该字符串代替图像地址.而网页上的每一个图片,都是需要消耗一个http请求下载而来的,使用base ...
- .NET WebAPI 实现图片上传(包括附带参数上传图片)
博主的项目,客户端是APP,考虑到以后也可能会应用到微信端.网站等,图片上传方法就需要兼容多端,并且以目前的设计,不允许非登录用户上传图片,就得在上传时解决附带参数上传图片的问题. 先来看看后台方法( ...
- java 上传图片
1.导入smartupload.jar包 ,添加uploadIMG.jsp,upfileIMG.jsp. 2.需要在项目下面建立一个保存文件的文件夹pic或者upload 3.在调用的地方调用子框架u ...
- jsp上传图片实时显示
jsp代码 <div class="form-group" id="caseIma"> <label class="control- ...
随机推荐
- webfrom 总结
网上看了很多理论,然而知易行难.在实际工作中还是存在很多问题. 下面是使用webform过程中的总结. 1.不使用服务端控件 表单有post和get两种方法,可以通过 form methed='pos ...
- 关于repaint(重绘)和reflow( 回流)
repaint就是重绘,reflow就是回流.repaint主要是针对某一个DOM元素进行的重绘,reflow则是回流,针对整个页面的重排 严重性: 在性能优先的前提下,性能消耗 reflow大于re ...
- 【BZOJ-4245】OR-XOR 按位贪心
4245: [ONTAK2015]OR-XOR Time Limit: 10 Sec Memory Limit: 256 MBSubmit: 486 Solved: 266[Submit][Sta ...
- Beta阶段第七次Scrum Meeting
Beta阶段第七次Scrum Meeting 情况简述 BETA阶段第七次Scrum Meeting 敏捷开发起始时间 2016/12/20 00:00 敏捷开发终止时间 2016/12/21 00: ...
- 关闭SELinux和iptables防火墙
1.关闭SELinux: 编辑SELinux配置文件: [root@Redis selinux]# vim /etc/selinux/config 修改SELINUX配置项为disable SELIN ...
- 逆向工程学习第一天--一个VC6编译的小程序
今天开始研究二进制了,开个文记录一下.下面是一个小程序的OD反汇编代码,自己尝试加了注释,本人逆向零基础,属于摸着石头过河的类型,有理解错误的地方,希望大牛不吝赐教. 源代码: #include< ...
- Bubble Cup 8 finals B. Bribes (575B)
题意: 给定一棵n个点和有向边构成的树,其中一些边是合法边,一些边是非法边, 经过非法边需要1的费用,并且经过之后费用翻倍. 给定一个长为m的序列,问从点1开始按顺序移动到序列中对应点的总费用. 1& ...
- 现代软件工程作业-- GitHub的学习
1.注册github账号: 2.在github上面新建一个名为HelloWord的项目: 3.将本组的其他成员纳入到HelloWorld中: 4.复制远端仓库的地址: 5.在本地的git bash中使 ...
- beaglebone black 固定IP上网(ubuntu16.04,console)
今天把beaglebone black搞了下,让能通过网线上网.需要修改一些文件.刷的是ubuntu16.04系统,没有界面.不过资源占用很少,顺便说一下.系统下的vi不好用,没有安装vim. 下面的 ...
- 【学习笔记】C语言之词法规则
一.字符 标准并没有规定C环境必须使用特定的字符集,但是它规定了字符集必须包含英语所有的大小写字母,数字0到9,以及下面的字符: ! # % ^ & * ( ) _ – + = / . ? ...