asp+layui图片上传,返回缩略图,返回上传进度

项目需要个asp+layui图片上传,返回缩略图,返回上传进度的需求,网上搜了半天没找到个免费的,某仙收费100元,100元加个鸡腿不香么,免费给需要的小伙伴们~,效果图:

<!--#include virtual="Upload.asp"-->

<%
dim upload,file,formName,SavePath,filename
dim strMsg

dim http_ref : http_ref = Request.ServerVariables("QUERY_STRING")

SavePath = GetKey(http_ref,"SavePath=","&")
ifsrc = GetKey(http_ref,"ifsrc=","&")


set upload=new upload_file    '建立上传对象
for each formName in upload.file '列出所有上传了的文件

	set file=upload.file(formName)  '生成一个文件对象
	if file.ErrCode>0 then
		strMsg=strMsg & "上传失败!原因:" & file.ErrMsg & vbcrlf
	else
		randomize
		sTime=now
        if ifsrc="0" then
		        filename=year(sTime)&right("0" & month(sTime),2)&right("0" & day(sTime),2)&right("0" & hour(sTime),2)&right("0" & minute(sTime),2)&right("0" & second(sTime),2) & cstr(int(900*rnd)+100) & "."&file.FileExt
		        file.SaveToFile Server.mappath(SavePath & filename) '保存文件到服务器
        else
		        filename=SavePath & year(sTime)&right("0" & month(sTime),2)&right("0" & day(sTime),2)&right("0" & hour(sTime),2)&right("0" & minute(sTime),2)&right("0" & second(sTime),2) & cstr(int(900*rnd)+100) & "."&file.FileExt
		        file.SaveToFile Server.mappath(filename) '保存文件到服务器
        End if
		strMsg=strMsg & filename &  vbcrlf
        fileTitle=file.FileName
	end if
	set file=nothing
next
if strMsg<>"" then 
    strMsg=left(strMsg,len(strMsg)-2)
    response.write "{""code"": 0,""msg"": ""上传成功"",""data"": {""src"": """&strMsg&""",""SavePath"": """&SavePath&""",""title"": """&fileTitle&"""}} "
else
    response.write "{""code"": 1,""msg"": ""上传失败""} "
end if
set upload=nothing
%>
<script>
layui.use(['upload', 'element', 'layer'], function(){
var $ = layui.jquery
,upload = layui.upload
,element = layui.element
,layer = layui.layer;

//常规使用 - 普通图片上传
var uploadInst = upload.render({
elem: '#upload20'
,url: 'Return.asp?SavePath=/Uploads/images/&ifsrc=0' //改成您自己的上传接口
,before: function(obj){
//预读本地文件示例,不支持ie8
obj.preview(function(index, file, result){
$('#demo20').attr('src', result); //图片链接(base64)
});

element.progress('upload', '0%'); //进度条复位
layer.msg('上传中', {icon: 16, time: 0});
}
,done: function(res){
//如果上传失败
if(res.code > 0){
return layer.msg('上传失败');
}
//上传成功
  var uploadurl1 = $('#uploadurl20')
  uploadurl1.attr("value",res.data.src);
  uploadurl1.attr("title",res.data.SavePath);
  uploadurl1.hidden();
//上传成功的一些操作
//……
$('#demoText20').html(''); //置空上传失败的状态
}
,error: function(){
//演示失败状态,并实现重传
var demoText = $('#demoText20');
demoText.html('<span style="color: #FF5722;">上传失败</span> <a class="layui-btn layui-btn-xs demo-reload">重试</a>');
demoText.find('.demo-reload').on('click', function(){
uploadInst.upload();
});
}
//进度条
,progress: function(n, elem, e){
element.progress('upload20', n + '%'); //可配合 layui 进度条元素使用
if(n == 100){
layer.msg('上传完毕', {icon: 1});
}
}
});

});
</script>

完整代码打包下载http://www.024000.cn/asp_layui.zip

  • 1
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 3
    评论
上传图片可以通过在前端页面添加一个文件选择器,让用户选择要上传的图片,然后通过 ASP.NET MVC 的控制器来处理上传操作。下面是一个简单的实例: 1. 在前端页面中添加文件选择器 ```html <form id="uploadForm" enctype="multipart/form-data"> <input type="file" id="fileInput" name="fileInput" /> <button type="submit">上传</button> </form> ``` 2. 在控制器中处理上传操作 ```csharp [HttpPost] public ActionResult Upload(HttpPostedFileBase fileInput) { if (fileInput != null && fileInput.ContentLength > 0) { var fileName = Path.GetFileName(fileInput.FileName); var filePath = Path.Combine(Server.MapPath("~/Uploads"), fileName); fileInput.SaveAs(filePath); return Content("上传成功"); } else { return Content("请选择要上传的文件"); } } ``` 这个控制器的作用是接收上传的文件,并保存到服务器指定的文件夹中。其中 `HttpPostedFileBase` 类型的参数 `fileInput` 对应前端页面中的文件选择器。 3. 使用 LAYUI 实现上传操作 ```javascript layui.use('upload', function(){ var upload = layui.upload; //执行实例 var uploadInst = upload.render({ elem: '#fileInput' //绑定元素 ,url: '/Home/Upload' //上传接口 ,done: function(res){ //上传完毕回调 console.log(res); } ,error: function(){ //请求异常回调 console.log('上传失败'); } }); }); ``` 这里使用了 LAYUI 的 `upload` 模块来实现上传操作。通过 `render` 方法可以将上传功能绑定到前端页面中的文件选择器上,同时还可以指定上传接口和回调函数等参数。 以上就是 ASP.NET MVC + LAYUI 实现上传图片的简单实例和代码。
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

乐畅

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值