聊城集团网站建设多少钱,云阳网站建设,唐山百度快速排名提升,微盟互联网公司排名这个必须记录一下费劲啊#xff01;废了我2天的时间#xff0c;昔日的net快速已经没落....就文件上传都这么费劲。
先说下要求#xff08;在线apk文件上传实现手机端整包更新#xff09;#xff1a;
1、为了简化需求文件上传和数据提交分开执行
2、选完文件后按钮变成上… 这个必须记录一下费劲啊废了我2天的时间昔日的net快速已经没落....就文件上传都这么费劲。
先说下要求在线apk文件上传实现手机端整包更新
1、为了简化需求文件上传和数据提交分开执行
2、选完文件后按钮变成上传
3、文件存储到项目根目录www下面
目前没做那么的现在如大小、文件类型等看看UI 按钮发生了变化 文件上传成功 不废话了直接代码
html代码将上传控件做了个透明目的是不显示难看的上传控件同时也是多浏览器显示一样。 div classform-grouplabel classcol-sm-3 control-label附件span classred_blod*/span/labeldiv classcol-sm-7input idFILE_PATH nameFILE_PATH classform-control typetext!-- 给这个input 设置样式隐藏切忌不可用display控制隐藏,可能不能跨浏览器 --input typefile idfile namefile onchangegetFilePath()stylefilter:alpha(opacity0);opacity:0;width: 0;height: 0; //divdiv classcol-sm-1button classbtn btn-primary typebutton idbtnChooseFile选择/button/div/div
JS代码
赋值操作将上传控件的值赋给txt控件
function getFilePath() {$(#FILE_PATH).val($(#file).val())
}
按钮状态切换和上传附件功能灭有使用我封装加密的ajax数据流就不加密了、成功和错误用了下封装的toast 大家自己改一下就好了。 $(#btnChooseFile).click(function () {let button $(#btnChooseFile)if (button.text() 选择) {$(#file).trigger(click);$(#btnChooseFile).text(上传)} else {var fileUpload $(#file).get(0);var files fileUpload.files;var data new FormData();for (var i 0; i files.length; i) {data.append(files[i].name, files[i]);}//AjaxUploadFile$.ajax({type: POST,//方法类型dataType: json,//预期服务器返回的数据类型url: ../../../App/AjaxUploadFile,//urldata: data,contentType: false,processData: false,success: function (result) {if (result.success true) {$.showSuccessToast(result.message);} else {$.showErrorToast(result.message);}},error: function () {$.showErrorToast(连接服务器失败请重试或者重新登录);}});}});
重点来了asp.net core 3.1 的后台代码。核心是IWebHostEnvironment的注入人家需要放到构造函数而不是controller里我给搞错了费劲啊看下构造 private IWebHostEnvironment Environment;public AppController(IWebHostEnvironment _environment){Environment _environment;}
在看一下上传文件返回的Json我做了个封装您们自己改一下吧。 public JsonResult AjaxUploadFile(){try { if (Request.Form.Files.Count 0){var files Request.Form.Files;foreach (var file in files){var fileName ContentDispositionHeaderValue.Parse(file.ContentDisposition).FileName.Trim();string filePath Environment.WebRootPath $\upload\admin\app\;if (!Directory.Exists(filePath)){Directory.CreateDirectory(filePath);}fileName Guid.NewGuid() . fileName.Split(.)[1];string fileFullName filePath fileName;using (var stream new FileStream(fileFullName, FileMode.Create)){file.CopyTo(stream);}}}}catch (Exception ex) { return JsonResultError(ex.Message); }return JsonResultRight(文件上传成功);}
好了搞定了 回忆一下其实也不难 可能是我js和Python写多了写高级语言有点梦游吧写个文字记录一下也给爱好者提个醒。