//一般处理程序
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#上传图片的更多相关文章

  1. 博客使用BOS上传图片

    1.博客平台的选定 从大学开始做个人主页算起,最开始是使用html,CSSS写简单的页面,后面大学毕业之后接触到了WordPress,就开始用WordPress搭建网站.现在还维护着一个农村网站.ht ...

  2. nodejs利用ajax实现网页无刷新上传图片

    nodejs利用ajax实现网页无刷新上传图片 标签(空格分隔): nodejs 通常情况下上传图片是要通过提交form表单来实现的,但是这又不可避免的产生了网页转. 利用ajax技术和FormDat ...

  3. -Android -线程池 批量上传图片 -附php接收代码

    (出处:http://www.cnblogs.com/linguanh/) 目录: 1,前序 2,类特点 3,用法 4,java代码 5,php代码 1,前序 还是源于重构,看着之前为赶时间写着的碎片 ...

  4. iOS 原生HTTP POST请求上传图片

    今天项目里做一个上传图片等个人信息的时候,使用了第三方AFNetworking - (AFHTTPRequestOperation *)POST:(NSString *)URLString param ...

  5. 大朋展翅 html5上传图片(三)一解决部分手机拍相册批量上传图片转向问题

    在经过前面的改进之后本来以为已经没有问题了,但经过我们神通广大的测试的测试,发现相册中的图片在上传时也会发生转向问题.既然前面都解决了拍照转向的问题,那么相册中图片的上传也容易解决.修改一下需要旋转图 ...

  6. html5上传图片(一)一跨域上传

    最近开发一个上传图片的模块,传图片的接口不支持跨域上传,并且只支持单张上传,而我们的产品要求要实现多张上传.我搞了一个代理页面,先将图片传到代理页面,然后再通过代理页面传到上传图片接口.虽然这种方式经 ...

  7. h5上传图片及预览

    第一次做图片上传,记录一些问题. 1,图片的base64编码就是可以将一副图片数据编码成一串字符串,使用该字符串代替图像地址.而网页上的每一个图片,都是需要消耗一个http请求下载而来的,使用base ...

  8. .NET WebAPI 实现图片上传(包括附带参数上传图片)

    博主的项目,客户端是APP,考虑到以后也可能会应用到微信端.网站等,图片上传方法就需要兼容多端,并且以目前的设计,不允许非登录用户上传图片,就得在上传时解决附带参数上传图片的问题. 先来看看后台方法( ...

  9. java 上传图片

    1.导入smartupload.jar包 ,添加uploadIMG.jsp,upfileIMG.jsp. 2.需要在项目下面建立一个保存文件的文件夹pic或者upload 3.在调用的地方调用子框架u ...

  10. jsp上传图片实时显示

    jsp代码 <div class="form-group" id="caseIma"> <label class="control- ...

随机推荐

  1. 仿QQ大战—界面篇

    之前在<仿QQ大战-服务器的搭建(ServerSocket)>中实现了服务器的搭建,以及一个简单地传递数据的实现,现在就是来实现类似与QQ聊天通信的功能.首先是界面的实现: 首先:服务器和 ...

  2. js函数表达式和函数声明的区别

    我们已经知道,在任意代码片段外部添加包装函数,可以将内部的变量和函数定义"隐 藏"起来,外部作用域无法访问包装函数内部的任何内容. 例如: var a = 2; function ...

  3. Java开发环境搭建——CentOS配置

    普通用户添加到sudoers u切换到root visudo进入编辑,找到root  ALL=(ALL)    ALL,在后面加上myusername ALL=(ALL)  ALL 配置网络sudo ...

  4. codevs 2287 火车站

    2287 火车站  时间限制: 1 s  空间限制: 32000 KB  题目等级 : 钻石 Diamond     题目描述 Description 火车从始发站(称为第1站)开出,在始发站上车的人 ...

  5. 基于Dubbo框架构建分布式服务(三)

    我们将上面开发的服务提供方服务,部署到2个独立的节点上(192.168.14.1和10.10.4.125),然后可以通过Dubbo管理中心查看对应服务的状况,如图所示: 上图中可以看出,该服务有两个独 ...

  6. Linux 下 ---ThinkPHP 图片上传提示:上传根目录不存在!请尝试手动创建

    2016年11月15日11:15:47 Windows下如果碰到如此问题,要看文件保存根路径里的rootpath,比如ThinkPHP框架里config.php文件里的的参数配置: //文件上传相关配 ...

  7. vector - vector product

    the inner product Givens two vectors \(x,y\in \mathbb{R}^n\), the quantity \(x^\top y\), sometimes c ...

  8. HTML之CSS学习

    学前预备 <!DOCTYPE html> <html> <head> <title>标题</title> <meta charset= ...

  9. easyUI时间控件 使用

    1,时间格式化,分隔符为     “—” // 日期格式化 function myformatter(date){ var y = date.getFullYear(); var m = date.g ...

  10. [Unity3D]UI界面之瞄准镜设置说明

    9空格设计 : 比如说4个角的图案固定,拉伸的时候不受影响 通过设置 左上右下来: 通过创建Image对象,将设置好的图片关联到Source Image 调整瞄准镜跟随飞机, 注意这里设置的Z轴向量是 ...