layui.use('upload', function () {
var upload = layui.upload; upload.render({
elem: '#LAY_avatarUpload'
, url: setter.apiDomain + '/api/WxPay/UploadFileByStream_Head'
, choose: function (obj) {
//将每次选择的文件追加到文件队列
var files = obj.pushFile(); //预读本地文件,如果是多文件,则会遍历。(不支持ie8/9)
obj.preview(function (index, file, result) {
console.log(index); //得到文件索引
console.log(file); //得到文件对象
console.log(result); //得到文件base64编码,比如图片 //obj.resetFile(index, file, '123.jpg'); //重命名文件名,layui 2.3.0 开始新增 //这里还可以做一些 append 文件列表 DOM 的操作 //obj.upload(index, file); //对上传失败的单个文件重新上传,一般在某个事件中使用
//delete files[index]; //删除列表中对应的文件,一般在某个事件中使用
}); }
, done: function (index, res) {
//上传完毕回调
if (index.Data.Url != "") {
var url = index.Data.Url;
$(".UserHeadImgUrl").attr('src', setter.apiDomain + url);
}
var UserHeadImgUrl = $('.UserHeadImgUrl').attr("src");
var url = '/api/Userinformation/EditImg'; ----这个主要就是更改字段,就没粘上来
var parment = {
UserHeadImgUrl: UserHeadImgUrl
}
callpack = function ()
{ }
admin.ajax(url, parment, callpack)
}
, error: function (index) {
//请求异常回调
}
});
}) ------------接口 UploadFileByStream_Head
public ResultInfo<UploadFileResponseModel> UploadFileByStream_Head()
{
var info = new ResultInfo<UploadFileResponseModel>();
try
{
#region 校验数据 if (!Request.Content.IsMimeMultipartContent())
{
info.Result = false;
info.StatusCode = (int)StatusCodeEnum.HttpRequestError;
info.State = StatusCodeEnum.HttpRequestError.ToString();
info.Msg = "不是有效的上传方式"; return info;
} if (HttpContext.Current.Request.Files.Count <= )
{
info.Result = false;
info.StatusCode = (int)StatusCodeEnum.HttpRequestError;
info.State = StatusCodeEnum.HttpRequestError.ToString();
info.Msg = "没有上传文件"; return info;
}
#endregion var resInfo = new UploadFileResponseModel();
HttpPostedFile file = HttpContext.Current.Request.Files[];
var ext = Path.GetExtension(file.FileName);
var fileName = DateTime.Now.ToString("yyyyMMddHHmmss") + "_" + Funcs.GetRandom(, ) + ext; var filesName = DateTime.Now.ToString("yyyyMMddHH");
var url = "/Upload/Consignor/Img/" + filesName + "/" + fileName;
var path = HttpContext.Current.Server.MapPath("/Upload/Consignor/Img/" + filesName + "/");
Directory.CreateDirectory(path);
var fullFileName = path + fileName;
file.SaveAs(fullFileName); //返回数据
resInfo.FileName = fileName;
resInfo.ImagesType = "接口上传Stream";
resInfo.LocalPath = file.FileName;
resInfo.Url = url;
info.Result = true;
info.StatusCode = (int)StatusCodeEnum.Success;
info.State = StatusCodeEnum.Success.ToString();
info.Data = resInfo;
info.Msg = "上传成功"; return info;
}
catch (Exception ex)
{
string msg = "出现异常:" + ex.Message;
info.Result = false;
info.StatusCode = (int)StatusCodeEnum.Error;
info.State = StatusCodeEnum.Error.ToString();
info.Msg = msg;
return info;
}
};

Layui上传图片 带接口的更多相关文章

  1. Thinkphp5+Layui上传图片

    ThinkPHP是一个免费开源的,快速.简单的面向对象的轻量级PHP开发框架,是为了敏捷WEB应用开发和简化企业应用开发而诞生的.ThinkPHP从诞生以来一直秉承简洁实用的设计原则,在保持出色的性能 ...

  2. 上传头像,layui上传图片

    layui上传与bootstrap上传相似,只是不需要下插件, layui自带的已够用 先看一下前台界面,这里是用到的上传头像 先点击开始上传,头像上传至服务器中, 返回json添加至form表单中, ...

  3. Layui 上传图片到磁盘上 + Tomcat 配置虚拟路径

    Layui 上传图片到磁盘上 + Tomcat 配置虚拟路径 Tomcat 配置虚拟路径 找到 eclipse 中 tomcat 下面的 server.xml 文件,在 Host 标签里面添加 < ...

  4. layui上传图片接口

    mvc中 前台调用接口 url:"../upload/uploadfiles/" 然后开始接口 代码: string a = ""; try { HttpFil ...

  5. 项目二(业务GO)——跨域上传图片(请求接口)

    之前,就听过“跨域上传”图片的问题,只是疏于研究,也就一再搁置,直至今天再次遇见这个不能避免的“坑”,才不得不思考一下,怎么“跨域上传”图片或者文件? 问题来源: 何为“跨域”? ——就是给你一个接口 ...

  6. thinkphp结合layui上传图片

    简单示例: <script type="text/javascript"> layui.use(['form', 'layedit','element', 'layda ...

  7. 给 layui upload 带每个文件的进度条, .net 后台代码

    1.upload.js 扩展 功能利用ajax的xhr属性实现该功能修改过modules中的upload.js文件功能具体实现:在js文件中添加监听函数 //创建监听函数 var xhrOnProgr ...

  8. layui 上传图片 实现过程

    layui.user一个页面只能有一个,写多了会实现js效果 上传图片官方文档有很多功能,但是演示的代码只是一个一个功能演示,如果要综合起来js代码不是简单的拼凑,需要放在指定位置,比如下面的限制文件 ...

  9. 轻量级Web API实现,带接口界面的Jayrock JsonRPC接口组件升级版

    升级功能如下: 1.增加模块名称.输入参数.输出参数注释 2.增加Sign验证.输入数据解密.输出数据解密重写方法 3.增加集成Demo规范 4.增加模块分类.接口快速定位.接口调用说明.接口输入输出 ...

随机推荐

  1. C#sealed和final

    sealed用于类时,该类被称为密封类,密封类不能被继承: C#提出了密封方法(sealed method) 的概念,以防止在方法所在类的派生类中对该方法的重载.对方法可以使用sealed 修饰符,这 ...

  2. 关于webconfig的记录恢复本

    <?xml version="1.0"?> <!--注意: 除了手动编辑此文件以外,您还可以使用 Web 管理工具来配置应用程序的设置.可以使用 Visual S ...

  3. Java面试题5

    4.&和&&的区别 答: &是位运算符,表示按位与运算,&&是逻辑运算符,表示逻辑与(and) 5.Collection 和 Collections的区 ...

  4. 第一个Python小爬虫

    这个爬虫是参考http://python.jobbole.com/81353/这篇文章写的 这篇文章可能年代过于久远,所以有些代码会报错,然后我自己稍微修改了一下,增加了一个getContentAll ...

  5. Word中的段落

    Word文档中的块级内容的最基本单位是段落,段落用<p>元素进行存储.段落定义在新行中开始,段落可以包含三方面的信息:可选的段落属性.内嵌的内容(通常为文本)和用于比较两个文档的内容的一组 ...

  6. cant found Microsoft.VSSDK.BuildTools.15.0.26201

    如果在vs扩展开发中出现 严重性 代码 说明 项目 文件 行 禁止显示状态 错误 Failed to load 'C:\程序\EncodingNormalior\packages\Microsoft. ...

  7. 从零开始学习渗透Node.js应用程序

    本文来源于i春秋学院,未经允许严禁转载 0x01 介绍 简单的说 Node.js 就是运行在服务端的 JavaScript.Node.js 是一个基于Chrome JavaScript 运行时建立的一 ...

  8. Javascript高级编程学习笔记(12)—— 引用类型(1)Object类型

    前面的文章中我们知道JS中的值分为两种类型 基础类型的值和引用类型的值 基础类型的值我已经大概介绍了一下,今天开始后面几天我会为大家介绍一下引用类型的值 Object类型 对象是引用类型的值的实例,在 ...

  9. python中匿名函数lambda

    简单来说,编程中提到的 lambda 表达式,通常是在需要一个函数,但是又不想费神去命 名一个函数的场合下使用,也就是指匿名函数. 先看它的几个用法: map( lambda x: x*x, [y f ...

  10. 2019年19道java经典面试题(附答案)

    1.不可变对象 指对象一旦被创建状态不能再改变.任何修改都会创建一个新的对象,如 String.Integer及其它包装类. 2.能否创建一个包含可变对象的不可变对象? 可以.不要共享可变对象的引用就 ...