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. strftime使用%F格式化日期失败

    报错:invalid format directive 解决:把%F换成%Y-%m-%d

  2. PHP 百万级数据导出方案(多 CSV 文件压缩)

    ps:来源 :https://laravel-china.org/articles/15944/php-million-level-data-export-scheme-multi-csv-file- ...

  3. Chrome浏览器用AdBlockPlus拦截百度广告

    一:安装AdBlockPlus插件,这个貌似要FQ安装,不知道可不可以本地安装: 二:在右侧的扩展那里找到ABP扩展,然后设置-高级-我的过滤列表栏-开始创建我的过滤列表: 三:在列表栏里添加 bai ...

  4. powershell ParameterSet解析

    自定义PowerShell函数,在设置参数的时候中,可以将参数设置为某些情况下可选,某些条件下又设置为必选. 示例代码从网站复制的. function Connect-Somewhere { [Cmd ...

  5. bzoj3929(sam)

    因为题目中树的特殊性暴力dfs建sam就好了.然后sam有一个有意思的性质是一个点代表的子串个数等于mx[i]-mx[fail[i]],至于为什么,我不会严谨的证明,但想想还是可以的,就是当前串的所有 ...

  6. 美团codeM预赛A轮 倒水

    [编程题] 倒水 时间限制:1秒 空间限制:32768K 有一个大水缸,里面水的温度为T单位,体积为C升.另有n杯水(假设每个杯子的容量是无限的),每杯水的温度为t[i]单位,体积为c[i]升. 现在 ...

  7. 卷积(转自wiki百科)

    维基百科,自由的百科全书 图示两个方形脉冲波的卷积.其中函数 "g" 首先对  反射,接着平移 "t" ,成为  .那么重叠部份的面积就相当于 "t& ...

  8. WebViewJavascriptBridge浅析

    WebViewJavascriptBridge是一个Objective-C与JavaScript进行消息互通的三方库.通过WebViewJavascriptBridge,我们可以很方便的实现OC和Ja ...

  9. 利用ArcGIS-Server瓦片制作离线地图包(*.tpk)_详细流程

    1.写在前面 本人是综合了好几个资料才最终制作成功,在这个过程中发现网上好多博客写的步骤不是很详细,因此就把自己的详细制作步骤全部分享出来,可以供需要的小伙伴参考. (1)本文档不讨论tpk文件的详细 ...

  10. vue高级组件之provide / inject

    转载:https://blog.csdn.net/Garrettzxd/article/details/81407199 在vue中不同组件通信方式如下 1.父子组件,通过prop 2.非父子组件,通 ...