ASP.NET WebApi 图片上传
以下是代码的实现过程:
Html页面表单布局:
<form id="UpPicture" enctype="multipart/form-data" action="服务器路径地址" method="post">
<table>
<tr>
<td>
<input type="file" name="Picture"/>
</td>
</tr> <tr>
<td>提交</td>
<td>
<input type="submit" value="提交" /></td>
</tr>
</table>
</form>
服务器端是实现:
/// <summary>
/// 图片上传方法,客户端通过表单的形式上传
/// </summary>
/// <returns></returns>
[HttpPost]
public PhotographUploadReturn PhotographUpload()
{
var msg = "";
string _toServerPicturePath = "";//文件名
//接收表单传递过来的图片,需要限定上传的图片格式:".JPG", ".JPEG", ".GIF", ".PNG", ".BMP"
var file = HttpContext.Current.Request.Files["Picture"]; //检查文件是否被预览选中,判断方式:通过判断文件名是否为空或者空字符串
if (!string.IsNullOrWhiteSpace(file.FileName))
{
//限定上传图片的格式类型
string[] LimitPictureType = { ".JPG", ".JPEG", ".GIF", ".PNG", ".BMP" };
//当图片上被选中时,拿到文件的扩展名
string currentPictureExtension = Path.GetExtension(file.FileName).ToUpper();
//此处对图片上传的类型进行限定操作
if (LimitPictureType.Contains(currentPictureExtension))
{
//此处标记图片上传至服务器的唯一新名称
string _newFileName = Guid.NewGuid().ToString();
_toServerPicturePath = DateTime.Now.Year + "/" + DateTime.Now.Month + "/";
string _dbPicturePath = "Certifications/" + _toServerPicturePath + _newFileName + currentPictureExtension;
_toServerPicturePath = AppDomain.CurrentDomain.BaseDirectory + "Certifications/" + _toServerPicturePath;//最终生成的文件名:+_newFileName +currentPictureExtension //首先判断图片上传至服务的路径是否存在,不存在则创建并执行保存操作,存在则直接保存
if (Directory.Exists(_toServerPicturePath))
{
//最终上传的文件路径全名
_toServerPicturePath = _toServerPicturePath + _newFileName + currentPictureExtension;
}
else
{//不存在此路径,则创建后执行保存操作
Directory.CreateDirectory(_toServerPicturePath);
_toServerPicturePath = _toServerPicturePath + _newFileName + currentPictureExtension;
}
//执行保存图片,并插入数据库操作
file.SaveAs(HttpContext.Current.Server.MapPath("~/" + _dbPicturePath));
////执行数据库相关操作,没有异常则代码继续执行,否则跳出
msg = "图片上传操作成功!";
}
else
{
msg = "图片上传操作失败,请选择扩展名为:.JPG, .JPEG, .GIF, .PNG, .BMP 等类型图片。";
}
}
else
{
msg = "图片上传操作失败,图片没有被选中!";
} return new PhotographUploadReturn { ImageName = _toServerPicturePath, Message = msg };
}
ASP.NET WebApi 图片上传的更多相关文章
- ASP.NET MVC图片上传前预览
回老家过春节,大半个月,在家的日子里,吃好睡好,人也长了3.5Kg.没有电脑,没有网络,无需写代码,工作上相关的完全放下......开心与父母妻儿过个年,那样的生活令Insus.NET现在还在留恋.. ...
- asp.net多图片上传实现程序代码
下面是一个完整的asp.net同时支持多图片上传一个实现,有需要的朋友可参考一下,本文章限制同时可上传8张图片,当然大可自己可修改更多或更少. 前台代码如下: 复制代码代码如下: <% @ Pa ...
- asp.net多图片上传同时保存对每张图片的描述
前台aspx //图片预览和描述 function previewImage(file) { var div = document.getElementById('preview'); div.inn ...
- MVC图片上传、浏览、删除 ASP.NET MVC之文件上传【一】(八) ASP.NET MVC 图片上传到服务器
MVC图片上传.浏览.删除 1.存储配置信息 在web.config中,添加配置信息节点 <appSettings> <add key="UploadPath" ...
- asp.net+扫描仪+图片上传
问题: IE浏览器下使用Activex插件调用客户端扫描仪扫描文件并山传,可以将纸质档案(如合同.文件.资料等)扫描并将扫描图像保存到服务器,可以用于合同管理.档案管理等. 通过插件方式调用扫描仪扫描 ...
- ASP.Net MVC3 图片上传详解(form.js,bootstrap)
图片上传的插件很多,但很多时候还是不能切合我们的需求,我这里给大家分享个我用一个form,file实现上传四张图片的小demo.完全是用jquery前后交互,没有用插件. 最终效果图如下: 玩过花田人 ...
- asp.net ueditor 图片上传路径问题解决
最近练习做一个新闻系统,其中不能少了添加新闻和修改新闻的功能 ,而且还要添加图片.添加文字样式, 所以不得不使用富文本编辑器,在kindeditor和ueditor中,选择了目前还在持续更新的百度产品 ...
- WebAPI图片上传
public Task<HttpResponseMessage> PostFormData() { // Check if the request contains multipart/f ...
- MVC WebApi 图片上传和显示
1 MVC中显示 内存流 中的图片.(不是图片文件) 创建一个Index用来显示 Action: public ActionResult Index() { return View(); } csht ...
随机推荐
- 【python】try...except...后中断程序继续运行
- 关于java的一些小知识(课程作业01)
1,在java源代码中加空格注释不会影响程序的编译速度. 2,一个java类文件中真的只能有一个公有类吗? 如果只在第一个public类里面定义实体,或者两个都不定义并没有报错且程序可以运行.每个编译 ...
- 窗体Form的FormStyle属性设置为fsStayOnTop时属性设置不起作用问题探讨。
procedure CreateParams(var Params: TCreateParams); override; procedure MainForm.Createparams(var Par ...
- inf 启动
How to install an INF file using Delphi If you need to install an "inf" file using Delphi, ...
- 关闭AutoCAD 2019快速访问工具栏的web和moblie保存文件功能
解决方法如下:1.先关闭CAD,再打开注册表编辑器:开始--运行--输入 regedit2.定位到 [HKEY_LOCAL_MACHINE\SOFTWARE\Autodesk\AutoCAD\R23. ...
- bundle adjustment 玩具程序
结合 bundle adjustment原理(1) 和 Levenberg-Marquardt 的 MATLAB 代码 两篇博客的成果,调用MATLAB R2016a中 bundleAdjustmen ...
- 父级元素position:absolute,子节点也是absolute
当父级属性position是absolute,子节点也是absolute的时候,子节点是相对父级absolute的,举个例子 <div class="headManage"& ...
- centos7.0下增加swap分区大小
承接上篇文章扩容磁盘空间后增加根分区的大小后,来扩容swap分区的空间 检查当前的swap分区情况 # free -m # free -g [root@localhost ~]# free -m to ...
- python面向对象:类空间,对象空间, 组合
一. 类空间,对象空间 1. 类空间,对象空间 创建一个类就会创建一个类的名称空间,用来存储类中定义的所有名字,这些名字称为类的属性 而类有两种属性:静态属性和动态属性 静态属性就是直接在类中定义的变 ...
- servlet简单的小例子
去我云盘下载: https://pan.baidu.com/s/1E2yoZ2Nmk2FE2XjuPOCvjA 访问方式:http://localhost:8080/testServlet/index ...