轻松实现图片上传并回显

wangEditor 接入 OSS 直传:富文本视频图片上传与回显完整方案 富文本编辑器是后台内容管理中的常用组件,而文件上传与回显往往涉及前后端协作的诸多细节。对象存储(OSS)直传模式通过后端签发临时凭证,前端直接上传文件,能够有效分担业务服务器带宽压力,提升大文件传输稳定性。结合富文本编辑器的自定义上传接口,可以实现图片、视频的本地选择、进度跟踪与在线预览。但保存与二次编辑时,还需注意临时签名URL过期、Content-Type设置、CORS跨域、路径校验等问题。本文以wangEditor为例,从上传链路、服务端签名、回显替换到常见故障排查,系统梳理一套可落地的工程实践方案, 阅读详情

http://narutolby.iteye.com/blog/1449908

  图片上传及文件上传,前端html实现文件上传和普通的向后台传参数不同,必须用到form表单,同时form标签必须加上enctype="multipart/form-data"属性,method必须为post,表单中的input的type为file,这样前端上传文件的工作就完成了,这里后台文件的存储不做详细的介绍,因为用到的是struts2,文件上传的功能已经封装好了,但是还是需要注意几点,action中类型为File的属性名必须和input标签的name相同,同时action中必须有contentType和fileName属性,这里不是本文讲的重点就不做详细介绍了。 
  大家知道,form表单的post请求是同步请求,如果没有指定target属性,默认情况下提交后会刷新页面,想要做到提交请求后不页面不动即能回显上传的图片,这就需要一些处理,这里我用到了隐藏的iframe,将form表单的target指向iframe的名字,这样form表单提交后返回的结果将在iframe中显示。

  大家知道,form表单的post请求是同步请求,如果没有指定target属性,默认情况下提交后会刷新页面,想要做到提交请求后不页面不动即能回显上传的图片,这就需要一些处理,这里我用到了隐藏的iframe,将form表单的target指向iframe的名字,这样form表单提交后返回的结果将在iframe中显示。 
Html代码  收藏代码
  1.   <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">  
  2. <html>  
  3. <head>  
  4. <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">  
  5. <title>Upload Image Demo</title>  
  6. <script type="text/javascript" src="js\jquery-1.7.1.min.js"></script>  
  7. <script type="text/javascript">  
  8.    function upload(){  
  9.        $('form').submit();  
  10.        $('img').attr('src','img/vote_img_loading.png')  
  11.    }  
  12.    $(document).ready(function(){  
  13.        $(':input[type=file]').change(upload);  
  14.    });  
  15.      
  16.    function showPic(path){  
  17.        $('img').attr('src','file/'+path).next('span').css('visibility','visible');  
  18.          
  19.    }  
  20.   
  21. </script>  
  22. <style type="text/css">  
  23. .pic {  
  24.     position: relative;  
  25.     width: 100px;  
  26.     height: 100px;  
  27.     float: left;  
  28.     display: inline;  
  29.     margin: 0 5px 0 0;  
  30.     cursor: pointer;  
  31.     overflow: hidden;  
  32. }  
  33.   
  34. .pic span {  
  35.     position: relative;  
  36.     color: white;  
  37.     margin: -20px 0 0;  
  38.     display: block;  
  39.     height: 20px;  
  40.     width: 100px;  
  41.     text-align: center;  
  42.     overflow: hidden;  
  43.     line-height: 20px;  
  44.     background: url(img/template_list_titlebg.png) ;  
  45. }   
  46.   
  47. .pic form {  
  48.     position: absolute;  
  49.     width: 100px;  
  50.     height: 100px;  
  51.     overflow: hidden;  
  52.     z-index: 10;  
  53.     margin: -100px 0 0;  
  54. }  
  55.   
  56. .pic input {  
  57.     font-size: 100px;  
  58.     cursor: pointer;  
  59.     -moz-opacity: 0;  
  60.     filter: alpha(opacity = 0);  
  61.     opacity: 0;  
  62.     background: none;  
  63.     border: none;  
  64.     margin: -10px 0 0 -650px 9;  
  65. }  
  66. </style>  
  67. </head>  
  68. <body>  
  69.     <iframe style="display:none" name="if">  
  70.       
  71.     </iframe>  
  72.     <div class="pic">  
  73.         <img height="100" width="100" src="img/update_pic.png"><span  
  74.             style="visibility: hidden">重新上传</span>  
  75.         <form enctype="multipart/form-data" method="POST" action="upload.action" target="if">  
  76.             <input type="file" name="upload"/>  
  77.         </form>  
  78.     </div>  
  79. </body>  
  80. </html>  



关于iframe中显示的内容是图片回显的关键,以下是返回的内容: 
Html代码  收藏代码
  1. <html>  
  2. <head>  
  3. </head>  
  4. <body>  
  5.  <script type="text/javascript">  
  6.  var pid = window.location.search.split('=')[1];  
  7.  top.window.showPic(pid);  
  8.    
  9.  </script>  
  10. </body>  
  11. </html>  


  可以看到返回的内容很简单,就是一段javascript代码,因为当form表单提交后,我做了url重定向,并把图片的存储路径作为重定向url的参数,这段javascript代码首先从iframe的location中获得图片的存储路径,然后调用父窗口的showPic函数,并将图片存储路径传入函数,showPic函数是写在父床口中的,为什么可以这么做,因为子窗口可以调用父窗口的函数,但是反过来父窗口调用子窗口的函数是不被允许的。showPic函数如下: 

Js代码  收藏代码
  1. function showPic(path){  
  2.        $('img').attr('src','file/'+path).next('span').css('visibility','visible');  
  3.          
  4.    }  

   它的作用就是将img标签的src指向传过来的图片路径,这时候浏览器就回去加载这个图片,这样就轻松的实现了图片上传并迅速回显的功能,我附上了实现这个功能的整个工程,是一个eclipse的maven工程,需要通过本机maven命令下载依赖包。
CTF实战:图片上传漏洞与无字符数字注入的攻防解析 文件上传漏洞是Web安全中的常见风险点,攻击者通过上传恶意文件获取服务器权限。其核心原理在于应用对用户上传文件的类型、内容校验不充分,导致可执行脚本被当作普通文件存储并访问。在安全开发中,严格的白名单校验、文件内容二次渲染及存储隔离是有效的防护手段。无字符数字注入则是一种高级代码注入技术,当应用过滤了字母和数字字符时,攻击者利用编程语言特性(如PHP中的字符串自增、异或、取反运算)动态构造出所需函数名和参数,从而绕过过滤执行任意代码。这凸显了单纯依赖字符黑名单过滤的局限性。本文以一道融合了“木马图上床”和“ 阅读详情

相关推荐

Vue2集成v-md-editor实现Markdown编辑与预览全攻略

本文详细介绍了在Vue2项目中集成v-md-editor实现Markdown编辑与预览的完整方案。通过npm安装、在main.js中全局配置、二次封装组件等步骤,开发者可以快速构建一个功能强大、支持实时预览和图片上传的编辑器,并解决数据回显、内容安全转换等核心问题。

sat99的博客 782

基于vue+nodejs封装上传图片功能并实现回显功能

使用 <el-form-item label="图片" prop="imagePath"> <ImageUpload v-model="Form.imagePath" /> </el-form-item> ImageUpload 组件 <template> <div class="component-image-input"> <div class="img-item" v-for="item in

小多的博客 1230

VMware Workstation Pro 25H2 去虚拟化精简便携版完全指南

虚拟机技术在现代开发和测试环境中扮演着重要角色,但客户机系统常因暴露虚拟化特征而被特定软件识别为“虚拟机”,导致功能受限。同时,官方 VMware Workstation Pro 安装包体积大、安装流程繁琐,难以实现移动化部署。去虚拟化通过修改 VMX 配置、屏蔽 CPUID 特征、反射宿主机硬件信息等手段降低被检测概率;精简与便携则通过裁剪非核心文件和改用脚本注册服务,实现即解压即用的轻量化形态。这类改版方案特别适合临时环境搭建、敏感软件兼容测试以及构建随身开发环境。本文从虚拟化检测原理出发,系统梳理了

weixin_34068198的博客 378

图片的上传和回显

<dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-web</artifactId> <version>2.2.5.RELEASE</versio...

qq_41913923的博客 485

【论文复现】自动化细胞核分割与特征分析

HoVer-Net是一种精心设计的多分支深度学习网络架构,专为处理复杂的多组织显微图像中的细胞核实例分割与精确分类任务而开发。该网络通过创新的策略,不仅有效解决了细胞核在密集聚集区域难以准确区分的问题,还实现了对每个独立细胞核类型的细致分类。此外,HoVer-Net还引入了专门的上采样分支,这一设计旨在对每个成功分割出的细胞核实例进行进一步的核类型分类。这一分支利用高级语义信息,结合精心设计的分类策略,能够准确判断每个细胞核的所属类型,为医学研究提供了宝贵的细胞水平信息。

2201_75366661的博客 1980

Cadence Spectre仿真保姆级教程:从DC/AC到PSS/PV,手把手教你搞定模拟电路分析

作为业界标准的Cadence Spectre仿真器,以其精确的算法和丰富的分析类型,成为每个模拟IC工程师必须掌握的利器。本文将带你从零开始,系统掌握Spectre仿真的核心技能,从最基础的DC工作点分析到复杂的PSS相位噪声仿真,每个步骤都配有详细的操作指导和实用技巧。记得我第一次使用Spectre仿真一个简单的两级运放时,花了整整三天时间才得到正确的AC响应曲线。过程中踩过的坑、浪费的时间,现在想来都是宝贵的学习资源。与传统的AC分析不同,STB分析可以在不破坏环路的情况下评估稳定性。

weixin_30898555的博客 335

Vue3实现上传照片以及回显

Vue3实现上传照片以及回显

李长渊的博客 3936

【高级-RAG-优化方法】

本文介绍了两种优化RAG(检索增强生成)系统的高级方法。第一部分介绍KnowFlow项目,它采用父子分块技术,将文档分为父分块(800-1500字符)和子分块(200-400字符),通过精确匹配子分块再返回父分块内容来保证搜索精确性和上下文完整性。第二部分探讨Milvus的多种增强技术,包括查询增强(如假设问题生成、回溯提示)、索引增强(自动合并块、分层索引)、检索器增强(句子窗口检索、元数据过滤)、生成器增强(提示压缩、块排序)以及管道增强(自我反省、代理查询路由)。这些方法共同提升了RAG系统的检索效率

weixin_48585108的博客 960

Ruo-Yi(若依)上传图片组件无法回显问题解决

Ruo-Yi(若依)上传图片组件无法回显问题解决

m0_61819802的博客 1263

ESP8266 + MQTT :如何实现 LED 灯的远程控制

MQTT 是轻量级的、灵活的物联网消息交换和数据传递协议,致力于为 IoT 开发人员实现灵活性与硬件/网络资源的平衡。 NodeMCU 是一个开源的物联网平台。它使用 Lua 语言编程。该平台基于eLua开源项目,底层使用ESP8266 sdk 0.9.5版本。 在此项目中我们将实现 NodeMCU(ESP8266) 与 EMQ X Cloud 运营和维护的免费公共 MQTT 服务器远程控制 LED 灯,并使用 Arduino IDE 来对 NodeMCU ESP8266 进行编程。 EMQ X Cloud

emqx_broker的博客 3357

MATLAB计算干旱指标:SPI、SRI、SWAP、DWAAI、EDI等

简介各种干旱指数以及其MATLAB代码实现

WW、forever的博客 2万+

若依框架中的上传图片后如何实现回显到页面的

若依框架实现上传图片及回显功能解析

啊哦啊哦啊哦! 开心快乐哟! 6003

HyperLynx(二十二)DDR(五)DDRx总线时序模型设计

DDR3 的数据选通信号与时钟信号的频率是一样的,在数据选通信号写操作时,控制器典型的输出方式是数据选通信号边沿与时钟近似对齐。该界面中显示了所有需要编辑的参数,包括地址/命令信号的时序、控制信号的时序、读和写操作的数据选通和数据信号时序、写操作的数据选通和数据掩码信号时序,以及建立和保持时间的降额参数。由于DDRx总线对时序的要求非常严格,随着速率的提升,时序的要求会更高。反之也是一样的,如果数据选通信号的上升沿在时钟信号上升沿的后面到达 DRAM,那么数据选通信号的下降沿就会在时钟信号的前面到达。

小幽余生不加糖 1938

七牛云,el-upload简易使用上传图片示例

1, el-upload图片上传回显 <template> <div class="admin_form_main"> <el-form label-width="100px"> <el-form-item label="背景图"> <div class="imagess"> <el-upload :file-l

weixin_47106572的博客 312

让 ABAP 内表真正释放内存:从 CLEAR、FREE 到打破 Table Sharing 的实战技巧

ABAP内表内存管理的关键在于理解其运行时结构:DELETE操作仅逻辑删除行而不会释放内存,CLEAR或FREE才能真正回收内存。常见的误区包括误判空表状态和忽视内表共享机制。实际应用中,大表筛选后应采用VALUE表达式或逐行插入方式重建表体以释放内存。典型案例显示,正确处理内表内存可显著降低SAP Gateway和批处理程序的内存消耗,提升系统稳定性。开发时需结合调试工具观察内存状态,避免因共享机制导致无效回收。

2007 年 ~ 2025 年,深耕 SAP 技术 18 年 325

假人有限元模型

假人模型,车辆碰撞假人有限元模型,适合做乘员安全的研究者利用

图片上传本地预览(回显)插件

图片上传本地预览插件,本示例只是静态页面,请下载完整的示例查看 请下载完整的js和css样式,以及Demo &lt;html&gt; &lt;title&gt;文件上传&lt;/title&gt; &lt;head&gt; &lt;link rel="stylesheet" href="uploadPreview.css"&gt; &lt;

有梦想的咸鱼 1695

android 蓝牙通讯demo

android 下蓝牙通讯demo,实现了发现蓝牙,使能蓝牙,通过蓝牙发送消息。

springboot+wangEditor图片上传

异常:图片能上传但不能回显到前端编辑器中!!! 解决:利用ssm(spring) 实现图片上传,可以轻松回显到前端,但springboot默认是内置tomcat,该将图片上传到哪里呢?           将ssm中图片上传的代码用到springboot项目中依然不行,网上的都不可行!           后来才知道在springboot中不是将项目上传到webroot下面,也不是上传到缓存...

无 2034

老版QQ原生表情gif动态

这是老版的QQ表情,不过全是动态的的,Windows照片查看器是不会动的,可以右击用浏览器打开查看,再说一遍是老版的,只是分享给宁愿用老版也要动态的人。

WINCC7.3破解文件

WINCC7.3硬件够破解文件,有需要的下载!WINCC7.3硬件够破解文件,有需要的下载!

解决web项目上传图片不能及时回显的问题

解决web项目上传图片不能及时回显的问题遇到问题解决办法简单实例OSS配置属性(yml文件)OSS配置属性实体类自定义工具类(上传、删除图片)图片上传正常如果你也是相关问题,并通过此方法解决,记得给我点个赞!!! 遇到问题 在以前接触的web项目凡是涉及到需要上传图片,以及上传图片后需要及时回显的问题时,我的解决办法总是很死板。就是在项目中添加资源的本地映射路径,又因为在IDEA中通过 String path = System.getProperty("user.dir"); 获取项目相对根路径后图片依然不

weixin_43869703的博客 2832

图片上传成功但是访问一直404

SpringBoot图片上传报404无法回显,但是重启服务器后恢复正常,本文两种方案可解决此问题,如下!

lzq2357639195的博客 2109

关于el-upload在表单中,图片上传后后端返回url地址,将其绑定到表单,上传回显还好,点击编辑的时候,回调用接口,后端回返回一个url地址给我,我也拿到了,也给了表单对应字段,但是就是回显不了图

el-upload图片回显问题

qq_64180379的博客 3153

小程序云开发图片上传全攻略:从选图到回显的完整链路

文件上传是前端工程中的常见需求,但在小程序场景下,传统方案需要自建后端、配置域名与HTTPS证书,开发成本较高。云开发提供了一种更轻量的解法,将存储、数据库与云函数整合在同一生态中,大幅简化了上传链路的搭建。其核心机制是通过云存储的fileID标识文件,结合权限配置实现安全读写,并支持在页面中直接渲染或转换为临时链接供外部访问。这种模式非常适合中小型项目、工具类小程序或原型验证阶段,能够帮助开发者将精力聚焦于业务逻辑而非基础设施。本文从环境初始化、存储权限、上传代码、数据落库到真实环境排错,梳理了一条从选图

weixin_34221332的博客 326

前后端分离图片上传原理与Spring Boot+Vue实战全解析

前后端分离架构下,图片上传看似简单,实则涉及文件传输格式、接口设计、存储映射与跨域协作等多个关键技术节点。理解其核心原理,首先要从HTTP协议中的multipart/form-data格式谈起,前端通过FormData封装二进制流,后端借助MultipartFile接口接收并落盘,再通过静态资源映射将磁盘路径暴露为可访问URL。这一链路中,跨域配置、文件大小限制、路径兼容性等问题往往成为开发联调的拦路虎。掌握从浏览器到服务器的完整请求链路,不仅能解决上传成功但无法回显的常见故障,更能为若依框架、Window

weixin_30536861的博客 67

Vue 2 项目实战:vue-quill-editor 富文本编辑器从接入到图片上传改造

富文本编辑器是后台管理系统和内容发布平台的核心组件,其选型需权衡体积、数据格式与定制成本。基于 Quill 的 vue-quill-editor 凭借轻量、API 简洁和 Vue 响应式绑定,成为 Vue 2 项目的优选方案。通过覆盖 image handler 实现图片上传至服务器,可避免 base64 导致的数据库膨胀,同时利用 Quill 实例的 insertEmbed 和 getSelection 方法精准控制内容插入。该方案适用于文章编辑、社区论坛等图文混排场景,能有效提升内容管理效率与系统性能。

cqwmy840702的博客 417

AngularJS图片上传功能的实现

一、前言 前一段时间做项目时,遇到一个问题就是AngularJS实现图片预览和上传的功能,当时查阅文档(都是英文文档)折腾了很久才弄出来,现将整个流程整理出来,有需要的朋友可以参考一下,如果您有更好的方法,欢迎留言交流~~话不多说直接看实现。 二、具体实现 1、html标签结构 input type="file" file-model="myFile"/> <div class...

weixin_30409849的博客 104

jsp 上传图片并显示

Apache commons-fileupload是一个很好的文件上传工具,最近使用commons-fileupload实现了图片的上传及显示,可将图片保存在指定的文件夹中,也可以将图片存放在数据库,并支持四种常用的图片格式:jpg,png,gif,bmp。   首先,跟上传一般文件一样,需要写一个servlet来处理上传的文件,你可以修改保存路径或选择将图片保存在数据库中,只需要做简单的修改就...

chenzhanhai的专栏 7692
上一篇: Hibernate hql 查询指定字段并获取结果集
下一篇: Spring定时任务的几种实现
lcathm
博客等级 码龄18年 37粉丝 44原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值