图片上传和显示——上传图片——上传文件)==ZJ

2023-12-09 17:58
文章标签 显示 图片 上传 zj

本文主要是介绍图片上传和显示——上传图片——上传文件)==ZJ,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

http://www.cnblogs.com/yc-755909659/archive/2013/04/17/3026409.html aspx上传

http://www.cnblogs.com/mq0036/p/3715024.html  异步上传

-----------------------------------------ZJ版

MVC中利用ajaxfileupload.js插件实现异步上传:(这个既可以实现图片上传也可以实现文件上传)

JS引入:

<script src="~/Scripts/jquery-1.8.2.min.js"></script>
<script src="~/Content/UploadFile/ajaxfileupload.js"></script>

前台实现:

//Html部分
<div>
<h2>请选择要上传的文件</h2>
<input type="file" id="imgFile" name="imgFile" /><input type="button" value="上传" id="btnUp"/>
<br />
<div>
<img id="articleFacePhotoImg" />
</div>
</div>
//JS引入
<script src="~/Scripts/jquery-1.8.2.min.js"></script>
<script src="~/Content/UploadFile/ajaxfileupload.js"></script>
//上传文件JS调用代码
<script type="text/javascript">
//异步上传文件
uploadFacePhoto = function () {
//判断内容是否为空
if ($("#imgFile").val().length <= 0) {
return;
}
//执行异步上传
            $.ajaxFileUpload({
url: '@Url.Action("UploadImg","Home")',//上传到文件服务器请求地址
type: 'post',
data: { dir: 'image' },//自定义参数
secureuri: false,//是否需要安全协议,一般设置为false
fileElementId: 'imgFile',//文件上传遇的ID
dataType: 'json',//返回值类型,一般设置为json
success: function (data)//服务器成功响应处理函数
                {
//由于ajaxFileUpload把原来的file元素替换成新的file元素,所以之前绑定的change事件就失效了,需要重新绑定一下
$("#imgFile").change(function () {
uploadFacePhoto();
})                   
if (data.error == 0) {
$("#articleFacePhotoImg").attr("src", data.url);
} else {
alert(data.message);
}
}
});
}
//绑定文章封面文件域改变事件       
$("#imgFile").change(function () {
uploadFacePhoto();
});
//点击实现上传
//$("#btnUp").click(function () {
//    uploadFacePhoto();
//});
</script>
View Code

//后台实现:

/// <summary>
/// 上传文件
/// </summary>
/// <returns></returns>
public ActionResult UploadImg(HttpPostedFileBase imgFile,string dir)
{
//定义允许上传的文件的扩展名
Hashtable extTable = new Hashtable();
extTable.Add("image", "gif,jpg,jpeg,png,bmp");
extTable.Add("flash", "swf,flv");
extTable.Add("media", "swf,flv,mp3,wav,wma,wmv,mid,avi,mpg,asf,rm,rmvb");
extTable.Add("file", "doc,docx,xls,xlsx,ppt,htm,html,txt,zip,rar,gz,bz2");
if(String.IsNullOrEmpty(dir))
{
dir = "image";
}
if(!extTable.ContainsKey(dir))//如果不包含
            {
return Content(JsonConvert.SerializeObject(new { error = 1, message = "文件格式不正确" }));
}
if (imgFile == null)
{
return Content(JsonConvert.SerializeObject(new { error=1,message="上传文件大小超过限制"}));
}
string fileName = imgFile.FileName;
string fileExt = Path.GetExtension(fileName).ToLower();
if (String.IsNullOrEmpty(fileExt) || Array.IndexOf(((String)extTable[dir]).Split(','), fileExt.Substring(1).ToLower()) == -1)
{
return Content(JsonConvert.SerializeObject(new { error = 1, message = "上传文件扩展名是不允许的扩展名。\n只允许" + ((String)extTable[dir]) + "格式" }));
}
//创建文件夹
string dirPath = "/Files/" + dir + "/";
if (!Directory.Exists(Request.MapPath(dirPath)))
{
//不存在就创建
                Directory.CreateDirectory(Request.MapPath(dirPath));
}
//   string newFileName = DateTime.Now.ToString("yyyyMMddHHmmss_ffff") + fileExt;//注意这个写法文件名会有重复,要想不重复请使用Guid或其它方法。有坑需谨慎
imgFile.SaveAs(Request.MapPath(dirPath + newFileName));
//判断保存的文件是否存在
if (System.IO.File.Exists(Request.MapPath(dirPath + newFileName)))
{
return Content(JsonConvert.SerializeObject(new { error=0,url=dirPath+newFileName}));
}
else
{
return Content(JsonConvert.SerializeObject(new { error=1,message="上传文件失败!"}));
}           
}

 

ajaxfileupload.js文件链接:http://pan.baidu.com/s/1i4Xezyd 密码:om9x

----------------------上面是简单的图片文件上传演示,下面简单演示下富文本编辑器的使用-------------

前台实现:

//Html部分
<div>
<!--编辑器开始-->
<textarea id="editor" name="content" style="width:100%;height:100%"></textarea>
<input type="button" id="btnSub" value="提交"/>
</div>
//JS部分
<script type="text/javascript">
$(function () {
//编辑器初始化
            KindEditor.ready(function (K) {
window.editor = K.create('#editor', {
uploadJson: '@Url.Action("UploadImg","Home")'
});
});
$("#btnSub").click(function () {               
var articleContent = editor.html();
alert(articleContent);
});
})
</script>
//引入文件
<script src="~/Scripts/jquery-1.8.2.min.js"></script>
<script src="~/Scripts/kindeditor/kindeditor-all-min.js"></script>
<script src="~/Scripts/kindeditor/plugins/code/code.js"></script>
View Code

后台实现和上面的上传文件后台一致,下面是引入文件链接:http://pan.baidu.com/s/1o8GV1pg 密码:4uum(百度云:KindEditor文件夹)

最后来张图片吧:

这篇关于图片上传和显示——上传图片——上传文件)==ZJ的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!


原文地址:
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.chinasem.cn/article/474592

相关文章

基于Python实现高效PPT转图片工具

《基于Python实现高效PPT转图片工具》在日常工作中,PPT是我们常用的演示工具,但有时候我们需要将PPT的内容提取为图片格式以便于展示或保存,所以本文将用Python实现PPT转PNG工具,希望... 目录1. 概述2. 功能使用2.1 安装依赖2.2 使用步骤2.3 代码实现2.4 GUI界面3.效

Python实现AVIF图片与其他图片格式间的批量转换

《Python实现AVIF图片与其他图片格式间的批量转换》这篇文章主要为大家详细介绍了如何使用Pillow库实现AVIF与其他格式的相互转换,即将AVIF转换为常见的格式,比如JPG或PNG,需要的小... 目录环境配置1.将单个 AVIF 图片转换为 JPG 和 PNG2.批量转换目录下所有 AVIF 图

详解如何通过Python批量转换图片为PDF

《详解如何通过Python批量转换图片为PDF》:本文主要介绍如何基于Python+Tkinter开发的图片批量转PDF工具,可以支持批量添加图片,拖拽等操作,感兴趣的小伙伴可以参考一下... 目录1. 概述2. 功能亮点2.1 主要功能2.2 界面设计3. 使用指南3.1 运行环境3.2 使用步骤4. 核

Java图片压缩三种高效压缩方案详细解析

《Java图片压缩三种高效压缩方案详细解析》图片压缩通常涉及减少图片的尺寸缩放、调整图片的质量(针对JPEG、PNG等)、使用特定的算法来减少图片的数据量等,:本文主要介绍Java图片压缩三种高效... 目录一、基于OpenCV的智能尺寸压缩技术亮点:适用场景:二、JPEG质量参数压缩关键技术:压缩效果对比

使用Python开发一个简单的本地图片服务器

《使用Python开发一个简单的本地图片服务器》本文介绍了如何结合wxPython构建的图形用户界面GUI和Python内建的Web服务器功能,在本地网络中搭建一个私人的,即开即用的网页相册,文中的示... 目录项目目标核心技术栈代码深度解析完整代码工作流程主要功能与优势潜在改进与思考运行结果总结你是否曾经

Python FastAPI+Celery+RabbitMQ实现分布式图片水印处理系统

《PythonFastAPI+Celery+RabbitMQ实现分布式图片水印处理系统》这篇文章主要为大家详细介绍了PythonFastAPI如何结合Celery以及RabbitMQ实现简单的分布式... 实现思路FastAPI 服务器Celery 任务队列RabbitMQ 作为消息代理定时任务处理完整

使用C#代码在PDF文档中添加、删除和替换图片

《使用C#代码在PDF文档中添加、删除和替换图片》在当今数字化文档处理场景中,动态操作PDF文档中的图像已成为企业级应用开发的核心需求之一,本文将介绍如何在.NET平台使用C#代码在PDF文档中添加、... 目录引言用C#添加图片到PDF文档用C#删除PDF文档中的图片用C#替换PDF文档中的图片引言在当

详解C#如何提取PDF文档中的图片

《详解C#如何提取PDF文档中的图片》提取图片可以将这些图像资源进行单独保存,方便后续在不同的项目中使用,下面我们就来看看如何使用C#通过代码从PDF文档中提取图片吧... 当 PDF 文件中包含有价值的图片,如艺术画作、设计素材、报告图表等,提取图片可以将这些图像资源进行单独保存,方便后续在不同的项目中使

Java实现文件图片的预览和下载功能

《Java实现文件图片的预览和下载功能》这篇文章主要为大家详细介绍了如何使用Java实现文件图片的预览和下载功能,文中的示例代码讲解详细,感兴趣的小伙伴可以跟随小编一起学习一下... Java实现文件(图片)的预览和下载 @ApiOperation("访问文件") @GetMapping("

基于Python开发批量提取Excel图片的小工具

《基于Python开发批量提取Excel图片的小工具》这篇文章主要为大家详细介绍了如何使用Python中的openpyxl库开发一个小工具,可以实现批量提取Excel图片,有需要的小伙伴可以参考一下... 目前有一个需求,就是批量读取当前目录下所有文件夹里的Excel文件,去获取出Excel文件中的图片,并