jQuery实现异步上传图片(二)

图片上传并回显Ajax异步篇 图片上传并回显Ajax异步篇 图片如何无刷新的上传到服务器呢?继前两篇文章后,我们来实战一下如何无刷新的异步上传图片,我们还是先看一下效果 在实战前呢,我们需要做些准备工作。比如说,了解一下FormData对象 “FormData对象用以将数据编译成键值对,以便用XMLHttpRequest来发送数据。其主要用于发送表单数据,但亦可用于发送带键数据(keyed data),而独立于表单使... 阅读详情

其实上篇文章(看这里:http://blog.youkuaiyun.com/highplayer/article/details/7392337),只是一个伪上传,因为传递给后台的只是一个图片的URL,在本地测试可以通过,但真正部署在服务器上的时候就不行了。比如你传给服务器一个:C:\Documents and Settings\Administrator\桌面\A.jpg,服务器会在它本地电脑上的路径:C:\Documents and Settings\Administrator\桌面\A中找图片A,这怎么可能嘛。所以,上次的实现方式就是一个失败的例子。

百度了很久,终于让我发现了一个jQuery插件:ajaxupload.js。 这边有示例:http://www.phpletter.com/Demo/AjaxFileUpload-Demo/

靠这个插件,终于实现了真正的AJAX异步上传图片。

其实就个插件的原理就是构建一个form,然后用POST的方式提交整个Form。在后台中,通过传递来的Form,得到HttpPostedFile,在获取其中的图片信息,这样就实现后台上传图片了。

一个简单的DEMO。

前台:

<head runat="server">
    <title></title>
   <script src="Scripts/jquery-1.3.1.min.js" type="text/javascript"></script>
    <script src="Scripts/ajaxfileupload.js" type="text/javascript"></script>
    <script type="text/javascript">
        function ajaxFileUpload() {
            $.ajaxFileUpload
		(
			{
			    url: 'handler/UploadImageHandler.ashx?userid=1&name=abc',
			    secureuri: false,
			    fileElementId: 'fileToUpload',
			    dataType: 'html',
			    beforeSend: function() {
			        $("#loading").show();
			    },
			    complete: function() {
			        $("#loading").hide();
			    },
			    success: function(data, status) {
			        if (typeof (data.error) != 'undefined') {
			            if (data.error != '') {
			                alert(data.error);
			            } else {
			                alert(data.msg);
			            }
			        }
			    },
			    error: function(data, status, e) {
			        alert(e);
			    }
			}
		)
            return false;
        }
    </script>

</head>
<body>
    <form id="form1" runat="server">
    <table cellpadding="0" cellspacing="0" class="tableForm">
        <thead>
            <tr>
                <th>
                    Ajax File Upload
                </th>
            </tr>
        </thead>
        <tbody>
            <tr>
                <td>
                    <input id="fileToUpload" type="file" size="45" name="fileToUpload" class="input">
                </td>
            </tr>
            <tr>
                <td>
                    Please select a file and click Upload button
                </td>
            </tr>
        </tbody>
        <tfoot>
            <tr>
                <td>
                    <button class="button" id="buttonUpload" onclick="return ajaxFileUpload();">
                        Upload</button>
                </td>
            </tr>
        </tfoot>
    </table>
    </form>
</body>
后台,其实和上次差不多。代码:

public class UploadImageHandler : IHttpHandler {
    
    public void ProcessRequest (HttpContext context) {
        //获取前台的FILE
        HttpPostedFile file = context.Request.Files["fileToUpload"];
        
        string path = "UploadImgs\\";
        //Bitmap map = new Bitmap(filePath);
        string fileName = Path.GetFileName(file.FileName);
        string mapPath = context.Server.MapPath("~");
        string savePath = mapPath + "\\" + path + fileName;
        //map.Save(savePath);
        file.SaveAs(savePath);
        //上传成功后显示IMG文件
        StringBuilder sb = new StringBuilder();
        sb.Append("<img id=\"imgUpload\" src=\""+path.Replace("\\","/")+fileName+"\" />");
        context.Response.Write(sb.ToString());
        context.Response.End();
    }
    
    
 
    public bool IsReusable {
        get {
            return false;
        }
    }

}



密码学小白必看:三大顶级会议论文下载与阅读指南(附完整资源链接) 本文为密码学初学者提供了系统获取和阅读三大顶级会议(Crypto、Eurocrypt、Asiacrypt)论文的实战指南。详细介绍了通过IACR官方渠道、ePrint预印本等权威资源免费下载论文的方法,并分享了高效筛选、精读核心章节及构建个人知识体系的具体策略,帮助读者快速切入密码学研究前沿。 阅读详情

相关推荐

超详细版!Obsidian+Claude+Skills+云同步,打造智能 AI 知识库

本文介绍如何搭建高效的AI知识管理系统,将Obsidian笔记工具与ClaudeAI助手深度整合。通过ClaudeCode安装配置、ObsidianSkills插件添加和坚果云同步设置,实现本地存储安全性与云端便捷性的完美结合。该系统支持智能笔记整理、知识图谱可视化、智能搜索问答和内容创作辅助等功能,使静态笔记转变为能自动分析关联、处理复杂结构的"活"知识库。详细步骤包括工具准备、环境配置、插件安装和云同步设置

2301_79998006的博客 1078

jquery上传图片

jQuery 是一种常用的 JavaScript 库,它提供了很多方便的 DOM 操作和事件处理函数。在 jQuery 中,你可以使用 $.ajax() 或 $.post() 等方法来上传图片。 具体的实现方式如下: 首先,在 HTML 中添加一个文件上传输入框,例如:<inputtype="file" id="fileInput" name="fileInput"> ...

weixin_35756624的博客 632

Python实战:用BM3D算法给老照片去噪(附完整代码+数据集)

本文详细介绍了如何使用Python和BM3D算法为老照片进行高效去噪。通过完整的代码实现和数据集,读者可以快速掌握图像去噪技术,包括环境配置、算法原理、参数调优及效果评估,帮助恢复珍贵老照片的清晰度。

weixin_29057237的博客 236

jquery上传图片单图多图

主要用到的就是input里面的file,上传完成拿到文件流发给后端后端返回图片路径,让后前端展示出来。本篇文章包含单图上传和多图上传。最后有代码复制后更换上传接口,即可使用

前端开发努力中! 2265

最优化理论与自动驾驶(三):LQR原理、公式及代码演示

LQR 是基于线性系统和二次型代价函数的最优控制方法,在实际工程应用中,我们一般采用离散时间系统的LQR设计,其目标是通过设计反馈控制律,使系统在离散时间步长内稳定运行,最小化某个二次型代价函数。给定一个离散时间系统,其状态和控制输入通过以下方程表示:是时刻k的系统状态,是时刻k的控制输入,是状态转移矩阵,是输入矩阵。系统描述的物理意义:系统状态通过矩阵A演变到下一时刻,同时控制输入通过矩阵B影响系统的状态。

a8598671的博客 4595

海康威视GigE工业相机的python调用demo

默认路径安装完成后,在路径C:\Program Files (x86)\MVS\Development\Samples\Python\BasicDemo下的BasicDemo.py中,海康威视官方提供了基本的调用方法,本文也是基于这个修改的。BasicDemo.py提供了通过枚举选择相机的方法,在官方的另一个DEMO:ConnectSpecCamera.py中提供了另一种不通过枚举,直接访问特定IP相机的方法,也可以参考。另外,如果每台相机都定义了唯一的用户定义名,也可以通过用户定义名来区分相机。

xulibo5828的博客 2107

如何一步步实现异步上传图片并预览图片(异步加载图片)

写在开头 最近在做一个美食博客的网站系统,还没有完工,在制作发布文章页面的时候(类似优快云的Markdown写文章的功能),碰到了需要上传文章图片的的需求,实不相瞒,耗了不少脑细胞!! 准备:文件上传功能   文件上传功能的实现网上和优快云有很多的教程,我在这里就简单写一下了哈,如果有不了解的朋友,可以看我的之前学习SSM时候的一篇笔记 “SpringMVC中的文件和上传” 我在实现上传图片的时候就使用以下Controller接口, package com.chif.contro.

liudachu的博客 2128

grafana使用方法

1、点击仪表盘2、新建仪表盘3、选择数据源4、选择查询的条件5、美化。

2403_87359664的博客 323

异步ajax图片上传

如图所示我们想要在选择图片上传时把图片在提交前上传到服务器 并且回显到这个位置时 需要使用ajax的异步上传操作 1.需要导入要使用的jquery 和 ajax 专门处理异步文件上传js文件 jsp页面引入 <script type="text/javascript" src="${pageContext.request.contextPath}/js/jquery-3.3.1.js"></script> <script type="text/javascr.

weixin_46427348的博客 1036

hwasan实例分析踩内存之一:camx进程stack tag-mismatch的三种解决方案

hwasan实例分析踩内存之一:camx进程stack tag-mismatch的三种解决方案。

1291

使用SIMD思想进行memcpy的优化

arm64平台的memcpy的性能优化,相比C库提升30~40%,SIMD优化思路

zhaoxin1989的博客 1万+

jquery实现图片上传(包含多图上传)

*.html *css *.js *.php

叶落无痕的博客 3710

Mastercam软件二次开发:使用C#进行Mastercam二次开发

C#(发音为“C Sharp”)是一种现代、面向对象的编程语言,由微软开发,首次发布于2000年。它结合了C和C++的强大功能,同时引入了Java的垃圾回收机制,使得C#在开发效率和运行性能之间找到了一个良好的平衡点。C#的设计目标是提高开发者的生产力,它支持多种编程范式,包括面向对象、泛型、委托和事件等,这使得它成为开发Windows应用程序、Web应用程序、游戏(尤其是使用Unity引擎)和企业级应用的理想选择。

kkchenjj的博客 2214

jquery 上传图片 java_jquery 异步提交表单 上传图片小例子

这次做ecshop项目用到了一些小东西,这里我就把在项目中用到的一个异步上传多个产品图片的小东西,不是多好,但是是我自己查资料搞出来的。放这里,给自己和大家一个参考,欢迎丢砖!(jquery+spring mvc +jquery.form.js).上代码:一.传统型:1.jsp页面(上传3张图片)注意:这里各个form表单里的DOM的ID都是有顾虑的哦这里用到了一个jquery.form.js他是...

weixin_27224119的博客 345

假人有限元模型

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

ET2012新版免狗免安装绿色软件

ET2012新版免狗免安祖昂绿色软件。,新界面,新视觉,

jquery 异步提交表单 上传图片小例子

这次做ecshop项目用到了一些小东西,这里我就把在项目中用到的一个异步上传多个产品图片的小东西,不是多好,但是是我自己查资料搞出来的。放这里,给自己和大家一个参考,欢迎丢砖!(jquery+spring mvc +jquery.form.js).上代码: 一.传统型: 1.jsp页面(上传3张图片)注意:这里各个form表单里的DOM的ID都是有顾虑的哦 这里用到了一...

weixin_33796205的博客 157

pscad IEEE标准系统搭建说明

pscad IEEE标准系统搭建说明,包含典型的IEEE 9节点、14节点、30节点、39节点和118节点系统。内含标准测试系统的原始数据和潮流结果。

提交文件到后端的方法

在项目中我们经常会遇到图片的上传问题,对于后端工程师来说,前端相对来说很薄弱.在此总结了两种简单的提交图片到后台的方法.

gwgw0621的博客 2828

复分析 阿尔福斯(Ahlfors) 第三版答案 英文

答案分为十章,有部分习题没有答案,全英文复分析阿尔福斯(Ahlfors) 第三版答案

Jquery实现异步上传图片

利用jQuery的ajax函数就可以实现异步上传图片了。一开始我是想在处理程序中,直接用context.Request.Files来获取页面中的input file,但是不知道为什么一次获取不了。网上说的,Form中要设置enctype="multipart/form-data"和 method="post",input file中要加runat="server",但都加了依然获取不到。哪位大侠知

yzyssg1的博客 3015

thinkphp+ajaxfileupload 异步上传图片

借助插件实现异步上传图片的,需要引用Jquery。 HTML: 照片 <input type="file" id="file{$voc.id}" name="file{$voc.id}" onchange="ajaxFileUpload(this.id)" accept="image/*" style="display: none;" /> 一个a连接供选择照片,触发file的click

云上人间钦自赏 3940

图片异步上传,JQuery封装的异步图片(文件)上传,后台框架使用

图片异步上传,JQuery封装的异步图片(文件)上传,后台框架使用; 先上html代码和效果图 "> My JSP 'index.jsp' starting page 图片 : <img id="showImgId" alt="" onerror="setDefault(this,'/testUploadFile/assets/img/load

suxiaoqiuking的博客 2352

php jq异步上传图片,Jquery实现异步上传图片

利用jQuery的ajax函数就可以实现异步上传图片了。一开始我是想在处理程序中,直接用context.Request.Files来获取页面中的input file,但是不知道为什么一次获取不了。网上说的,Form中要设置enctype="multipart/form-data"和 method="post",input file中要加runat="server",但都加了依然获取不到。哪位大侠知...

weixin_31313071的博客 359

jquery上传图片_PHPAjax实现异步上传图片到新浪图床

php中文网最新课程每日17点准时技术干货分享通过异步上传图片到新浪图床,并且获取图片外链地址。一、填坑1.页面中必须引用Jquery库,否则没办法实现异步请求,这里使用的百度的Jquery库。2.相关资料连接新浪图床上传接口源码链接:https://www.php.cn/php-weizijiaocheng-437547.html有部分人拿到这个接口源码并不会使用,起初我也不是很明白,...

weixin_39787345的博客 194

ajax实现异步图片上传并回显

ajax可以使网页实现异步更新。这意味这可以在不重新加载整个网页的情况下,对网页的某个部分进行更新。今天使用ajax上传图片,并且将图片的路径以json格式返回到界面,达到回显的效果。 1.导入相关依赖包及相关js文件 <!--文件上传--> <dependency> <groupId>commons-fileupload</groupId>...

weixin_43538993的博客 1244

Ajax实现异步上传图片

目标:Ajax实现异步上传图片 要求:点击页面浏览按钮后,选择需要上传的图片,页面无刷新,将上传的图片展示出来 开发流程 一:在页面编写表单代码和js代码 <%@ page language="java" import="java.util.*" pageEncoding="UTF-8"%> <!DOCTYPE html PUBLIC "-//W3C//DTD X...

萌神30号 ↝ 5万+
上一篇: CSS样式荟萃
下一篇: 以彼之道还施彼身,用SQL生成SQL数据插入语句
highplayer
博客等级 码龄18年 69粉丝 86原创
评论 6
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值