HTML5上传图片
一..前言
最近公司项目用到了input上传图片,使用ajax上传,不得不说这又是一个坑。里面主要用到了 fromdata属性。它的作用就是
通过FormData对象可以组装一组用 XMLHttpRequest
发送请求的键/值对。它可以更灵活方便的发送表单数据,以及需要给jquery发送
到后台的时候设置一下请求头,否则会出错。
二.html布局 这没什么可说的
<body> <input type="file" name="oImg1" id="oImg1" value="" /> </body>
三. 重头戏在这里
<script type="text/javascript">
$(function(){
$("#oImg1").change(function(){var This = this;
uploadfile(This);
});
function uploadfile(This){ //上传照片
console.log(This)
var file = This.files[0];
//alert("文件大小:"+(file.size / 1024).toFixed(1)+"kB");
if (window.FileReader) {
var reader = new FileReader();
reader.readAsDataURL(file);
//监听文件读取结束后事件
reader.onloadend = function (e) {
console.log(e); //这里是上传文件后 返回的对象 你想要的信息都在这里
var formData = new FormData(); //通过FormData对象可以组装一组用 XMLHttpRequest
发送请求的键/值对。它可以更灵活方便的发送表单数据
formData.append('file',file); //
$.ajax({
url :"/url" ,
type : 'POST',
data : formData,
// 告诉jQuery不要去处理发送的数据
processData : false,
// 告诉jQuery不要去设置Content-Type请求头
contentType : false,
success : function(data) {
//请求成功
},
error : function(responseStr) {
console.log("error");
}
});
};
}
}
})
</script>
四.到这里就完成了图片上传的功能,希望对大家有所帮助
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· .NET Core 中如何实现缓存的预热?
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
· 基于Microsoft.Extensions.AI核心库实现RAG应用
· Linux系列:如何用heaptrack跟踪.NET程序的非托管内存泄露
· TypeScript + Deepseek 打造卜卦网站:技术与玄学的结合
· 阿里巴巴 QwQ-32B真的超越了 DeepSeek R-1吗?
· 【译】Visual Studio 中新的强大生产力特性
· 【设计模式】告别冗长if-else语句:使用策略模式优化代码结构
· 10年+ .NET Coder 心语 ── 封装的思维:从隐藏、稳定开始理解其本质意义