angular-file-upload组件上传Demo
效果图
1、前台html
<style>.radiogroup {font-size: 12px;width: 100px;min-height: 20px !important;height: 23px !important;float: left;padding-top: 0;padding-bottom: 0;margin-top: 0;}div.group-control .group-control-data {padding-top: 0px;vertical-align: bottom;}.property-grid-input-group input {font-size: 12px;vertical-align: text-bottom;margin-top: 0;}.property-grid-span-group-block {width: 100%;}.property-grid-input-group input {font-size: 12px;}/* sit-radio样式 begin */div.group-control .group-control-data span {vertical-align: bottom;}div.group-control .group-control-data input[type="radio"] {padding: 0;vertical-align: text-bottom;}.sit-radio div.group-control .group-control-data {padding-top: 2px;}/* sit-radio样式 end */.label-property-grid-control-readonly {display: block;font-size: 12px;color: #363636;background-color: #f6f6f6;}a,a:link,a:hover,a:active,a:visited {text-decoration: none;}.FlagRequired {color: red;padding: 3px;font-size: 14px;line-height: 22px;}.row .col_text {text-align: right;}.canvas .property-area-container div.command-bar-side-panel {padding-bottom: 40px;}.canvas .property-area-container>div.content .side-panel-property-area-body {overflow-x: hidden;}canvas {background-color: #f3f3f3;-webkit-box-shadow: 3px 3px 3px 0 #e3e3e3;-moz-box-shadow: 3px 3px 3px 0 #e3e3e3;box-shadow: 3px 3px 3px 0 #e3e3e3;border: 1px solid #c3c3c3;margin: 6px 0 0 6px;}audio,canvas,video {display: inline-block;}div.progress {height: 20px;border-radius: 0;margin-top: 0px;background-color: #ffffff;}a,a:link,a:hover,a:active,a:visited {text-decoration: none;}.selectBox .label-property-grid-control-readonly {display: block;}/** mask **/.flyover .mask {top: 0;left: 0;position: fixed;width: 100%;height: 100%;opacity: 0.5;background: black;z-index: 1049;}.flyover .alert {left: 50%;top: 50%;position: fixed;z-index: 1050;}.property-grid-input-group>textarea {width: 101%;height: 120px;}.boxUploadTitle .uploadTitle {margin-left: 10px;font-size: 16px;}.boxUploadTitle .num {font-size: 12px;margin-left: 10px;}.boxUploadTitle a {margin-left: 10px;height: 30px;line-height: 30px;position: relative;cursor: pointer;overflow: hidden;display: inline-block;}.boxUploadTitle a input {position: absolute;left: 0;top: 0;opacity: 0;}.validator-control[disabled] {color: #666666;}th {font-size: 15px;}
</style>
<div class="command-bar-side-panel"><button ng-click="vm.cancel()" class="btn side-panel-button">返回</button> <button ng-click="vm.save()" class="btn side-panel-button" ng-show="vm.validInputs">保存</button>
</div>
<div class="side-panel-property-area-body" style="padding-right: 10px;"><div class="col-md-54 col-lg-54"><div class="row" style="margin-top: 10px;"><div class="col-md-40" style="clear: both;"><sit-property-grid sit-id="view_form" sit-layout="Horizontal" sit-type="Fixed" sit-mode="edit" sit-columns="2"><sit-property sit-id="EquipmentCategoryCode" sit-name="EquipmentCategoryCode" sit-widget="sit-text" sit-value="vm.currentItem.EquipmentCategoryCode" sit-read-only="false" sit-validation="{required: true}">设备型号:</sit-property><sit-property sit-id="archives_fileType" sit-name="archives_fileType" sit-widget="sit-select" sit-value="vm.currentItem.archives_fileType.value" sit-options="vm.archives_fileType.options" sit-validation="{required: true}"sit-to-display="'ItemName'" sit-to-keep="'ItemValue'">文件类型:</sit-property><sit-property sit-id="EquipmentName" sit-name="EquipmentName" sit-widget="sit-text" sit-value="vm.currentItem.EquipmentName" sit-read-only="true">设备名称:</sit-property><sit-property sit-id="EquipmentCode" sit-name="EquipmentCode" sit-widget="sit-text" sit-value="vm.currentItem.EquipmentCode" sit-read-only="true">设备编码:</sit-property><sit-property sit-id="Note" sit-name="Note" sit-widget="sit-text" sit-value="vm.currentItem.Note" sit-read-only="false">备注:</sit-property></sit-property-grid></div><div class="col-md-40" style="margin-top: 1px"><div class="boxUploadTitle" style="margin-bottom:10px;"><!--<span class="uploadTitle">上传文件</span>--><!-- Example: nv-file-select="" uploader="{Object}" options="{Object}" filters="{String}" --><a href="javascript:void(0);" ng-click="vm.AddButtonHandler()" class="btn btn-primary"><i class="ace-icon fa fa-plus"></i><input type="file" accept=".jpg,.png,.jpeg,.bmp,.gif,.doc,.docx,.xls,.xlsx,.ppt,.pptx,.pdf" nv-file-select="" uploader="uploader"multiple />选择文件</a><span class="num">数量: {{ uploader.queue.length }}</span></div><table class="table"><thead><tr><th>缩略图</th><th>文件名</th><th ng-show="uploader.isHTML5">大小</th><th ng-show="uploader.isHTML5" nowrap style="display: none;">上传进度</th><th nowrap style="display: none;">上传状态</th><th style="display: none;">操作</th></tr></thead><tbody><tr ng-repeat="item in uploader.queue"><td><!-- Image preview --><!--auto height--><!--<div ng-thumb="{ file: item.file, width: 80 }"></div>--><!--auto width--><div ng-show="uploader.isHTML5" ng-thumb="{ file: item._file, height: 60 }"></div><!--fixed width and height --><!--<div ng-thumb="{ file: item.file, width: 80, height: 80 }"></div>--></td><td><strong>{{ item._file.name }}</strong></td><td ng-show="uploader.isHTML5" nowrap>{{ item.file.size/1024/1024|number:2 }} MB</td><td ng-show="uploader.isHTML5" style="display: none;"><div class="progress" style="margin-bottom: 0;"><div class="progress-bar" role="progressbar" ng-style="{ 'width': item.progress + '%' }"></div></div></td><td class="text-center" style="display: none;"><span ng-show="item.isSuccess"><i class="glyphicon glyphicon-ok"></i></span><span ng-show="item.isCancel"><i class="glyphicon glyphicon-ban-circle"></i></span><span ng-show="item.isError"><i class="glyphicon glyphicon-remove"></i></span></td><td nowrap ><button style="display: none;" type="button" class="btn btn-success btn-xs" ng-click="item.upload()" ng-disabled="item.isReady || item.isUploading || item.isSuccess"><span class="glyphicon glyphicon-upload"></span> 上传</button><button style="display: none;" type="button" class="btn btn-warning btn-xs" ng-click="item.cancel()" ng-disabled="!item.isUploading"><span class="glyphicon glyphicon-ban-circle"></span> 取消</button><button type="button" class="btn btn-danger btn-xs" ng-click="item.remove()"><span class="glyphicon glyphicon-trash"></span> 删除</button></td></tr></tbody></table><!-- <div><div>上传序列进度:<div class="progress" style=""><div class="progress-bar" role="progressbar" ng-style="{ 'width': uploader.progress + '%' }"></div></div></div><button type="button" class="btn btn-success btn-s" ng-click="uploader.uploadAll()" ng-disabled="!uploader.getNotUploadedItems().length"><span class="glyphicon glyphicon-upload"></span> 上传所有</button><button type="button" class="btn btn-warning btn-s" ng-click="uploader.cancelAll()" ng-disabled="!uploader.isUploading"><span class="glyphicon glyphicon-ban-circle"></span> 取消 所有</button><button type="button" class="btn btn-danger btn-s" ng-click="uploader.clearQueue()" ng-disabled="!uploader.queue.length"><span class="glyphicon glyphicon-trash"></span> 删除 所有</button></div> --></div></div></div></div>
<div class="loading" ng-show="vm.busy"><i class="fa fa-spin fa-spinner fa-lg"></i>loading ...
</div>
2、前台JS
(function () {'use strict';angular.module('Siemens.SimaticIT.EquipmentApp.EquipmentAccount').config(AddScreenStateConfig);AddScreenController.$inject = ['Siemens.SimaticIT.EquipmentApp.EquipmentAccount.EquipmentAccount.service', '$state','$stateParams', 'common.base', '$filter', '$scope', 'FileUploader', 'CCS.CommonApp.common.service','$rootScope'];function AddScreenController(dataService, $state, $stateParams, common, $filter, $scope, FileUploader, commonService,$rootScope) {var self = this;var sidePanelManager, backendService, propertyGridHandler, uploader;activate();function activate() {init();registerEvents();sidePanelManager.setTitle('上传文档');sidePanelManager.open('e');}function init() {sidePanelManager = common.services.sidePanel.service;backendService = common.services.runtime.backendService;//Initialize Model Dataself.currentItem = angular.copy($stateParams.selectedItem);console.log("self.currentItem -------------------- " + JSON.stringify(self.currentItem));self.validInputs = false;//Expose Model Methodsself.save = save;self.cancel = cancel;self.addButtonHandler = addButtonHandler;//文件类型self.archives_fileType = {options: [],value: {},keep: 'ItemValue',//ItemValuelabel: 'ItemName'};archives_fileType_dic();uploader = $scope.uploader = new FileUploader({url: commonService.getMesApiAddress("equipment") + 'UploadFile/Upload'});// FILTERS// uploader.filters.push({// name: 'imageFilter',// fn: function (item /*{File|FileLikeObject}*/, options) {// var type = '|' + item.type.slice(item.type.lastIndexOf('/') + 1) + '|';// return '|jpg|png|jpeg|bmp|gif|doc|docx|xls|xlsx|ppt|pptx|pdf|'.indexOf(type) !== -1;// }// });// uploader.filters.push({// name: 'syncFilter',// fn: function(item /*{File|FileLikeObject}*/, options) {// console.log('syncFilter');// return this.queue.length < 10;// }// });// an async filteruploader.filters.push({name: 'asyncFilter',fn: function (item /*{File|FileLikeObject}*/, options, deferred) {console.log('asyncFilter');setTimeout(deferred.resolve, 1e3);}});// CALLBACKSuploader.onWhenAddingFileFailed = function (item /*{File|FileLikeObject}*/, filter, options) {console.info('onWhenAddingFileFailed', item, filter, options);};uploader.onAfterAddingFile = function (fileItem) {if (self.currentItem.archives_fileType) {var myPostDatas = {EquipmentCategoryCode: self.currentItem.EquipmentCategoryCode,FileType: self.currentItem.archives_fileType.value.ItemValue,EquipmentName: self.currentItem.EquipmentName,EquipmentCode: self.currentItem.EquipmentCode,Note: self.currentItem.Note,userName:commonService.getLoginUser().loginName};fileItem.formData = [myPostDatas];console.log("formData-------------" + JSON.stringify(fileItem.formData));}else {backendService.genericError("请先选择【文件类型】", "提示");} };uploader.onAfterAddingAll = function (addedFileItems) {console.info('onAfterAddingAll', addedFileItems);};uploader.onBeforeUploadItem = function (item) {console.info('onBeforeUploadItem', item);};uploader.onProgressItem = function (fileItem, progress) {console.info('onProgressItem', fileItem, progress);};uploader.onProgressAll = function (progress) {console.info('onProgressAll', progress);};uploader.onSuccessItem = function (fileItem, response, status, headers) {debugger;console.info('onSuccessItem------------------', fileItem, response, status, headers);if (response && response.success) {fileItem._file.filePath = response.ResultData;//触发父窗口的事件$rootScope.$emit('to-parent', 'parent'); }else { backendService.genericError(response.returnMsg, "提示");}};uploader.onErrorItem = function (fileItem, response, status, headers) { console.info('onErrorItem-----------------', fileItem, response, status, headers);};uploader.onCancelItem = function (fileItem, response, status, headers) {console.info('onCancelItem', fileItem, response, status, headers);};uploader.onCompleteItem = function (fileItem, response, status, headers) {console.info('onCompleteItem', fileItem, response, status, headers);};uploader.onCompleteAll = function () {console.info('onCompleteAll');}; }//文件类型function archives_fileType_dic() {var url = commonService.getDataItemDuatil("archives_fileType_dic").then(function (res) {var resultData = res.data.resultData;self.archives_fileType.options = resultData;});}function addButtonHandler() { }function registerEvents() {$scope.$on('sit-property-grid.validity-changed', onPropertyGridValidityChange);}function save() {var queueCount = uploader.queue.length;if (queueCount > 0) {//提交所有文档uploader.uploadAll();sidePanelManager.close();}else {backendService.genericError('请选择要上传的文档', "提示");}}function cancel() {sidePanelManager.close();$state.go('^');}function onSaveSuccess(data) {sidePanelManager.close();$state.go('^', {}, { reload: true });}function onPropertyGridValidityChange(event, params) {self.validInputs = params.validity;}}AddScreenStateConfig.$inject = ['$stateProvider'];function AddScreenStateConfig($stateProvider) {var screenStateName = 'home.Siemens_SimaticIT_EquipmentApp_EquipmentAccount_EquipmentAccount';var moduleFolder = 'Siemens.SimaticIT.EquipmentApp/modules/EquipmentAccount'; var state = {name: screenStateName + '.archives',url: '/archives',views: {'property-area-container@': {templateUrl: moduleFolder + '/EquipmentAccount-archives.html',controller: AddScreenController,controllerAs: 'vm'}},data: {title: 'add'},params: {selectedItem: null,}};$stateProvider.state(state);}
}());
3、后台
using System;
using System.Collections.Generic;
using System.Linq;
using System.Net;
using System.Net.Http;
using System.Web.Http;using Newtonsoft.Json;
using Newtonsoft.Json.Linq;
using ALP.Application.WebApi.Controllers.API;
using ALP.WebApi.Filter;
using ALP.WebApi.Models;
using ALP.Application.Busines.SystemManage;
using ALP.Application.Entity.SystemManage;
using System.Dynamic;
using ALP.Util;
using ALP.Util.WebControl;
using System.Web;
using System.IO;
using System.Text.RegularExpressions;
using System.Text;
using ALP.Application.Busines.EquipmentManage;
using ALP.Application.Entity.EquipmentManage;namespace ALP.Application.WebApi.Controllers.EquipmentManage
{public class FileTypeModel{public string ItemName { set; get; }public string ItemValue { set; get; }}public class UploadFileController : ApiBaseController{// GET: UploadFile[HttpGet][Route("UploadFile/test")]public HttpResponseMessage test(){HttpResponseMessage result1 = new HttpResponseMessage{//Content = new StringContent(BuildReturn(result, detailInfo, PUUID), Encoding.GetEncoding("UTF-8"), "application/json")Content = new StringContent("测试成功 0001" + DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss"), Encoding.GetEncoding("UTF-8"), "application/json")};return result1;}/// <summary>/// 文件上传/// </summary>/// <returns></returns>[HttpPost][Route("UploadFile/Upload")]public HttpResponseMessage Upload(){//型号string EquipmentCategoryCode = HttpContext.Current.Request.Form["EquipmentCategoryCode"].Replace("undefined", "");string userName = HttpContext.Current.Request.Form["userName"].Replace("undefined", "");//文件类型string FileType = HttpContext.Current.Request.Form["FileType"].Replace("undefined", "");//设备名称string EquipmentName = HttpContext.Current.Request.Form["EquipmentName"].Replace("undefined", "");//设备编码string EquipmentCode = HttpContext.Current.Request.Form["EquipmentCode"].Replace("undefined", "");//备注string Note = HttpContext.Current.Request.Form["Note"].Replace("undefined", "");var result = new ResponseResult();//return Request.CreateResponse(HttpStatusCode.OK, result);//var fromData = Config.GetValue("fromData");string strAllowFileExtension = Config.GetValue("AllowFileExtension").ToLower();string[] arrAllowFileExtension = strAllowFileExtension.Split("|");int intMaxFileLength = Convert.ToInt32(Config.GetValue("MaxFileLength"));try{string message = "";EP_EquipmentManagee_BLL bllEQ = new EP_EquipmentManagee_BLL();if (string.IsNullOrEmpty(EquipmentCategoryCode)){result.success = false;result.returnMsg = $"文件型号不能为空!";return Request.CreateResponse(HttpStatusCode.OK, result);}if (string.IsNullOrEmpty(FileType)){result.success = false;result.returnMsg = $"文件类型不能为空!";return Request.CreateResponse(HttpStatusCode.OK, result);}//判断设备型号是否存在 Dictionary<string, string> map = new Dictionary<string, string>();map.Add("EquipmentCategoryCode", EquipmentCategoryCode);string msg = "";var eqDT = bllEQ.Get_Data(map, out msg);if (eqDT == null || eqDT.Rows.Count < 1){result.success = false;result.returnMsg = EquipmentCode + " 设备型号不存在!";return Request.CreateResponse(HttpStatusCode.OK, result);}if (!string.IsNullOrEmpty(EquipmentCode)){//判断设备编码是否存在map.Clear();map.Add("EquipmentCode", EquipmentCode); var eqDT2 = bllEQ.Get_Data(map, out msg);if (eqDT2 == null || eqDT2.Rows.Count<1){result.success = false;result.returnMsg = EquipmentCode+" 设备编码不存在!";return Request.CreateResponse(HttpStatusCode.OK, result);}}//上传的文件组var filelist = HttpContext.Current.Request.Files;var success = true;List<string> listFilePath = new List<string>();if (filelist.Count > 0){for (var i = 0; i < filelist.Count; i++){string sFileName = "";string sFilePath = "";var file = filelist[i];var fileExtention = Path.GetExtension(file.FileName).ToLower();var fileName = file.FileName;sFileName = fileName;string sFileNameNoExt = GetFileNameWithoutExtension(fileName);string sFullExtension = GetExtension(fileName);if (!arrAllowFileExtension.Contains(fileExtention)){message = $"上传文件[{fileName}]的格式不符合要求!";success = false;break;}if (file.ContentLength > intMaxFileLength * 1024 * 1024){message = $"上传文件[{fileName}]超过文件大小限制!";success = false;break;}int iCounter = 0;var virtualPath = "/Upload/";var fullDirPath = HttpContext.Current.Server.MapPath(virtualPath);//文件全路径string sServerDir = fullDirPath;//判断文件名称是否重复EP_EquipmentArchives_BLL bll = new EP_EquipmentArchives_BLL();map.Clear();map.Add("FileNameEQ", fileName); var fileDt = bll.Get_Data(map, out msg);//if (fileDt != null && fileDt.Rows.Count > 0)//{// result.success = false;// result.returnMsg = $"文件名{entity.FileName} 重复,请更换!";// return Request.CreateResponse(HttpStatusCode.OK, result);//}while (true){sFilePath = System.IO.Path.Combine(sServerDir, sFileName);if (System.IO.File.Exists(sFilePath)){iCounter++;sFileName = sFileNameNoExt + "(" + iCounter + ")" + sFullExtension;}else{if (!Directory.Exists(fullDirPath)){Directory.CreateDirectory(fullDirPath);}//var filePath = $"{fullDirPath}{fileName}";try{file.SaveAs(sFilePath);listFilePath.Add($@"{sFileName}");//listFilePath.Add($@"{dirPath}{sFileName}");//文件档案对象EP_EquipmentArchives entity = new EP_EquipmentArchives();entity.ModelNumber = EquipmentCategoryCode;entity.EquipmemtCode = EquipmentCode;entity.FileType = FileType;entity.FileName = fileName;//文件名称entity.FileURL = virtualPath + fileName;//文件相对路径entity.EnabledMark = true;entity.Uploader = userName;entity.UploadDate = DateTime.Now;entity.CreateUser = userName;entity.CreateDate = DateTime.Now;entity.Status = "0";int n = bll.Save_Entity("", entity, out msg);result.success = n > 0 ? true : false;result.returnMsg = msg;return Request.CreateResponse(HttpStatusCode.OK, result);}catch (Exception ex){message = "上传文件写入失败:" + ex.Message;success = false;}break;}}}}else{message = "没有选择上传文件!";success = false;}if (listFilePath.Count > 0){result.resultData = listFilePath.ToArray().Join(",");}result.success = success;result.returnMsg = message;return Request.CreateResponse(HttpStatusCode.OK, result);}catch (Exception ex){result.success = false;result.returnMsg = "操作失败:" + ex.Message;return Request.CreateResponse(HttpStatusCode.InternalServerError, result);}}private string GetFileNameWithoutExtension(string fileName){int length = fileName.Length - 1, dotPos = fileName.IndexOf(".");if (dotPos == -1)return fileName;return fileName.Substring(0, dotPos);}private string GetExtension(string fileName){int length = fileName.Length - 1, dotPos = fileName.IndexOf(".");if (dotPos == -1)return "";return fileName.Substring(dotPos);}}
}
如若内容造成侵权/违法违规/事实不符,请联系编程学习网邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
相关文章
- 成都双眼皮权威艺星
...
2024/4/17 16:11:48 - 做三点定位双眼皮注意什么
...
2024/4/18 14:18:17 - 天津做双眼皮认真美莱
...
2024/4/5 13:34:06 - AngularJS实现cookie跨域
前后端分离被越来越多的公司重视利用,然后带来的最棘手的问题就是,用户信息应如何保存。 一、场景描述 以Java为后台,AngluarJS做前端为例进行描述:当用户在界面登录时,需把用户信息(如uid)存…...
2024/4/20 2:10:05 - 到哪医院拉双眼皮好
...
2024/4/5 13:34:04 - angular $http配置属性
$http请求的配置对象 $http()接受的配置对象可以包含以下属性: method:http请求方式,可以为GET,DELETE,HEAD,JSONP,POST,PUT url:字符串,请求的目标 params:字符串或者对象,会被转换成为查询字符串追加的url后面 data:在发送post请求时使用&a…...
2024/4/5 13:34:03 - AngularJs $http 请求服务
$http $http是Angular的一个核心服务,它有利于浏览器通过XMLHttpRequest 对象或者 JSONP和远程HTTP服务器交互。 $HTTP API 是基于 $q服务暴露的deferred/promise APIs。 快捷使用方式: $http.get $http.head $http.post $http.put $http.delete $http.j…...
2024/4/13 20:11:47 - Angular中ngCookies模块介绍
1.Cookie介绍 Cookie总是保存在客户端中,按在客户端中的存储位置,可分为内存Cookie和硬盘Cookie。内存Cookie由浏览器维护,保存在内存中,浏览器关闭后就消失了,其存在时间是短暂的。硬盘Cookie保存在硬盘里,…...
2024/4/13 20:11:42 - 那个做双眼皮好些
...
2024/4/18 18:09:12 - IONIC获取cookie
IONIC请求加上cookie及跨域问题的解决 ionic2 调用后台接口时, 需要解决一个问题, 请求头没有cookie 关键: XMLHttpRequest.withCredentials这个属性 XMLHttpRequest.withCredentials 属性是一个Boolean类型,它指示了是否该使用类似cookies,authorization header…...
2024/4/13 20:11:57 - HTTP-服务器端CooKie与浏览器端Cookie
Cookie的来源 由于HTTP协议是无状态的,而服务器端的业务必须是要有状态的。Cookie诞生的最初目的是为了存储web中的状态信息,以方便服务器端使用。比如判断用户是否是第一次访问网站。目前最新的规范是RFC 6265,它是一个由浏览器服务器共同协…...
2024/4/13 20:11:47 - 北京双眼皮?星唯有
...
2024/4/13 20:11:52 - p8双眼皮和切开开双眼皮多少时间能恢复好吗
...
2024/4/13 20:11:57 - 三点双眼皮风险大吗
...
2024/4/5 13:33:59 - 双眼皮后怎样恢复快速
...
2024/4/13 20:11:52 - angularjs上传文件+jfinal接收上传文件
准备js插件:angular-file-upload.min.js jsp部分: <input type"file" nv-file-select"" uploader"uploader"/> <input type"button" value"上传补丁" ng-click"uploadFile()"…...
2024/4/9 15:39:33 - angularjs php上传文件,jQuery文件上传插件angularfileupload
插件描述:angular-file-upload 是一款轻量级的 AngularJS 文件上传工具,为不支持浏览器的 FileAPI polyfill 设计,使用 HTML5 直接进行文件上传。特性支持上传进度,在上传的时候,可以取消或者中止,支持文件…...
2024/4/20 1:33:19 - JAVA 堆栈 堆 方法区 静态区 final static 内存分配 详解
Java栈与堆 堆:顺序随意 栈:后进先出(Last-in/First-Out).Java的堆是一个运行时数据区,类的对象从中分配空间。这些对象通过new、newarray、anewarray和multianewarray等指令建立,它们不需要程序代码来显式的释放。堆是由垃圾回收来负责的,堆的优势是可以动态地分配内存大小,…...
2024/4/19 19:07:54 - 双眼皮肿图片
...
2024/4/16 8:27:54 - 上传html文件成功但403,错误403当我尝试上传文件(图片)到服务器
我想创建服务器上传图像和填写json的形式。我已经尝试了许多代码和插件下载到服务器,但我总是得到403错误。我的错误是什么?我只使用没有后端的jQuery或AngularJs。这是一个链接:http://salegid.com/dist/最后一个变体:错误403当我…...
2024/4/13 20:12:32
最新文章
- ubuntu22.04下编译ffmpeg和ffplay
Ubuntu22.04 下编译安装 ffmpeg 和 ffplay 一、下载源码包 1.1 官方下载链接:Download FFmpeg 可以手动下载,也可以命令行下载: wget http://www.ffmpeg.org/releases/ffmpeg-7.0.tar.xz 1.2 下载完解压 tar -xvf ffmpeg-7.0.tar.xz…...
2024/4/20 12:54:10 - 梯度消失和梯度爆炸的一些处理方法
在这里是记录一下梯度消失或梯度爆炸的一些处理技巧。全当学习总结了如有错误还请留言,在此感激不尽。 权重和梯度的更新公式如下: w w − η ⋅ ∇ w w w - \eta \cdot \nabla w ww−η⋅∇w 个人通俗的理解梯度消失就是网络模型在反向求导的时候出…...
2024/3/20 10:50:27 - xv6项目开源—05
xv6项目开源—05.md 理论: 1、设备驱动程序在两种环境中执行代码:上半部分在进程的内核线程中运行,下半部分在中断时执行。上半部分通过系统调用进行调用,如希望设备执行I/O操作的read和write。这段代码可能会要求硬件执行操作&…...
2024/4/18 10:53:48 - Stable Diffusion 本地部署教程
Stable Diffusion 是一个开源的本地部署的软件,用于在本地网络中进行消息传递和同步。下面是 Stable Diffusion 的本地部署教程: 安装稳定扩散软件:首先,您需要从 Stable Diffusion 的官方网站或 GitHub 页面上下载并安装 Stable …...
2024/4/19 23:40:33 - 【外汇早评】美通胀数据走低,美元调整
原标题:【外汇早评】美通胀数据走低,美元调整昨日美国方面公布了新一期的核心PCE物价指数数据,同比增长1.6%,低于前值和预期值的1.7%,距离美联储的通胀目标2%继续走低,通胀压力较低,且此前美国一季度GDP初值中的消费部分下滑明显,因此市场对美联储后续更可能降息的政策…...
2024/4/19 14:24:02 - 【原油贵金属周评】原油多头拥挤,价格调整
原标题:【原油贵金属周评】原油多头拥挤,价格调整本周国际劳动节,我们喜迎四天假期,但是整个金融市场确实流动性充沛,大事频发,各个商品波动剧烈。美国方面,在本周四凌晨公布5月份的利率决议和新闻发布会,维持联邦基金利率在2.25%-2.50%不变,符合市场预期。同时美联储…...
2024/4/19 18:20:22 - 【外汇周评】靓丽非农不及疲软通胀影响
原标题:【外汇周评】靓丽非农不及疲软通胀影响在刚结束的周五,美国方面公布了新一期的非农就业数据,大幅好于前值和预期,新增就业重新回到20万以上。具体数据: 美国4月非农就业人口变动 26.3万人,预期 19万人,前值 19.6万人。 美国4月失业率 3.6%,预期 3.8%,前值 3…...
2024/4/19 11:57:31 - 【原油贵金属早评】库存继续增加,油价收跌
原标题:【原油贵金属早评】库存继续增加,油价收跌周三清晨公布美国当周API原油库存数据,上周原油库存增加281万桶至4.692亿桶,增幅超过预期的74.4万桶。且有消息人士称,沙特阿美据悉将于6月向亚洲炼油厂额外出售更多原油,印度炼油商预计将每日获得至多20万桶的额外原油供…...
2024/4/19 11:57:31 - 【外汇早评】日本央行会议纪要不改日元强势
原标题:【外汇早评】日本央行会议纪要不改日元强势近两日日元大幅走强与近期市场风险情绪上升,避险资金回流日元有关,也与前一段时间的美日贸易谈判给日本缓冲期,日本方面对汇率问题也避免继续贬值有关。虽然今日早间日本央行公布的利率会议纪要仍然是支持宽松政策,但这符…...
2024/4/19 11:57:52 - 【原油贵金属早评】欧佩克稳定市场,填补伊朗问题的影响
原标题:【原油贵金属早评】欧佩克稳定市场,填补伊朗问题的影响近日伊朗局势升温,导致市场担忧影响原油供给,油价试图反弹。此时OPEC表态稳定市场。据消息人士透露,沙特6月石油出口料将低于700万桶/日,沙特已经收到石油消费国提出的6月份扩大出口的“适度要求”,沙特将满…...
2024/4/19 11:57:53 - 【外汇早评】美欲与伊朗重谈协议
原标题:【外汇早评】美欲与伊朗重谈协议美国对伊朗的制裁遭到伊朗的抗议,昨日伊朗方面提出将部分退出伊核协议。而此行为又遭到欧洲方面对伊朗的谴责和警告,伊朗外长昨日回应称,欧洲国家履行它们的义务,伊核协议就能保证存续。据传闻伊朗的导弹已经对准了以色列和美国的航…...
2024/4/19 11:58:14 - 【原油贵金属早评】波动率飙升,市场情绪动荡
原标题:【原油贵金属早评】波动率飙升,市场情绪动荡因中美贸易谈判不安情绪影响,金融市场各资产品种出现明显的波动。随着美国与中方开启第十一轮谈判之际,美国按照既定计划向中国2000亿商品征收25%的关税,市场情绪有所平复,已经开始接受这一事实。虽然波动率-恐慌指数VI…...
2024/4/19 11:58:20 - 【原油贵金属周评】伊朗局势升温,黄金多头跃跃欲试
原标题:【原油贵金属周评】伊朗局势升温,黄金多头跃跃欲试美国和伊朗的局势继续升温,市场风险情绪上升,避险黄金有向上突破阻力的迹象。原油方面稍显平稳,近期美国和OPEC加大供给及市场需求回落的影响,伊朗局势并未推升油价走强。近期中美贸易谈判摩擦再度升级,美国对中…...
2024/4/20 7:40:48 - 【原油贵金属早评】市场情绪继续恶化,黄金上破
原标题:【原油贵金属早评】市场情绪继续恶化,黄金上破周初中国针对于美国加征关税的进行的反制措施引发市场情绪的大幅波动,人民币汇率出现大幅的贬值动能,金融市场受到非常明显的冲击。尤其是波动率起来之后,对于股市的表现尤其不安。隔夜美国股市出现明显的下行走势,这…...
2024/4/19 11:58:39 - 【外汇早评】美伊僵持,风险情绪继续升温
原标题:【外汇早评】美伊僵持,风险情绪继续升温昨日沙特两艘油轮再次发生爆炸事件,导致波斯湾局势进一步恶化,市场担忧美伊可能会出现摩擦生火,避险品种获得支撑,黄金和日元大幅走强。美指受中美贸易问题影响而在低位震荡。继5月12日,四艘商船在阿联酋领海附近的阿曼湾、…...
2024/4/19 11:58:51 - 【原油贵金属早评】贸易冲突导致需求低迷,油价弱势
原标题:【原油贵金属早评】贸易冲突导致需求低迷,油价弱势近日虽然伊朗局势升温,中东地区几起油船被袭击事件影响,但油价并未走高,而是出于调整结构中。由于市场预期局势失控的可能性较低,而中美贸易问题导致的全球经济衰退风险更大,需求会持续低迷,因此油价调整压力较…...
2024/4/20 3:12:02 - 氧生福地 玩美北湖(上)——为时光守候两千年
原标题:氧生福地 玩美北湖(上)——为时光守候两千年一次说走就走的旅行,只有一张高铁票的距离~ 所以,湖南郴州,我来了~ 从广州南站出发,一个半小时就到达郴州西站了。在动车上,同时改票的南风兄和我居然被分到了一个车厢,所以一路非常愉快地聊了过来。 挺好,最起…...
2024/4/19 11:59:15 - 氧生福地 玩美北湖(中)——永春梯田里的美与鲜
原标题:氧生福地 玩美北湖(中)——永春梯田里的美与鲜一觉醒来,因为大家太爱“美”照,在柳毅山庄去寻找龙女而错过了早餐时间。近十点,向导坏坏还是带着饥肠辘辘的我们去吃郴州最富有盛名的“鱼头粉”。说这是“十二分推荐”,到郴州必吃的美食之一。 哇塞!那个味美香甜…...
2024/4/19 11:59:23 - 氧生福地 玩美北湖(下)——奔跑吧骚年!
原标题:氧生福地 玩美北湖(下)——奔跑吧骚年!让我们红尘做伴 活得潇潇洒洒 策马奔腾共享人世繁华 对酒当歌唱出心中喜悦 轰轰烈烈把握青春年华 让我们红尘做伴 活得潇潇洒洒 策马奔腾共享人世繁华 对酒当歌唱出心中喜悦 轰轰烈烈把握青春年华 啊……啊……啊 两…...
2024/4/19 11:59:44 - 扒开伪装医用面膜,翻六倍价格宰客,小姐姐注意了!
原标题:扒开伪装医用面膜,翻六倍价格宰客,小姐姐注意了!扒开伪装医用面膜,翻六倍价格宰客!当行业里的某一品项火爆了,就会有很多商家蹭热度,装逼忽悠,最近火爆朋友圈的医用面膜,被沾上了污点,到底怎么回事呢? “比普通面膜安全、效果好!痘痘、痘印、敏感肌都能用…...
2024/4/19 11:59:48 - 「发现」铁皮石斛仙草之神奇功效用于医用面膜
原标题:「发现」铁皮石斛仙草之神奇功效用于医用面膜丽彦妆铁皮石斛医用面膜|石斛多糖无菌修护补水贴19大优势: 1、铁皮石斛:自唐宋以来,一直被列为皇室贡品,铁皮石斛生于海拔1600米的悬崖峭壁之上,繁殖力差,产量极低,所以古代仅供皇室、贵族享用 2、铁皮石斛自古民间…...
2024/4/19 12:00:06 - 丽彦妆\医用面膜\冷敷贴轻奢医学护肤引导者
原标题:丽彦妆\医用面膜\冷敷贴轻奢医学护肤引导者【公司简介】 广州华彬企业隶属香港华彬集团有限公司,专注美业21年,其旗下品牌: 「圣茵美」私密荷尔蒙抗衰,产后修复 「圣仪轩」私密荷尔蒙抗衰,产后修复 「花茵莳」私密荷尔蒙抗衰,产后修复 「丽彦妆」专注医学护…...
2024/4/19 16:57:22 - 广州械字号面膜生产厂家OEM/ODM4项须知!
原标题:广州械字号面膜生产厂家OEM/ODM4项须知!广州械字号面膜生产厂家OEM/ODM流程及注意事项解读: 械字号医用面膜,其实在我国并没有严格的定义,通常我们说的医美面膜指的应该是一种「医用敷料」,也就是说,医用面膜其实算作「医疗器械」的一种,又称「医用冷敷贴」。 …...
2024/4/19 12:00:25 - 械字号医用眼膜缓解用眼过度到底有无作用?
原标题:械字号医用眼膜缓解用眼过度到底有无作用?医用眼膜/械字号眼膜/医用冷敷眼贴 凝胶层为亲水高分子材料,含70%以上的水分。体表皮肤温度传导到本产品的凝胶层,热量被凝胶内水分子吸收,通过水分的蒸发带走大量的热量,可迅速地降低体表皮肤局部温度,减轻局部皮肤的灼…...
2024/4/19 12:00:40 - 配置失败还原请勿关闭计算机,电脑开机屏幕上面显示,配置失败还原更改 请勿关闭计算机 开不了机 这个问题怎么办...
解析如下:1、长按电脑电源键直至关机,然后再按一次电源健重启电脑,按F8健进入安全模式2、安全模式下进入Windows系统桌面后,按住“winR”打开运行窗口,输入“services.msc”打开服务设置3、在服务界面,选中…...
2022/11/19 21:17:18 - 错误使用 reshape要执行 RESHAPE,请勿更改元素数目。
%读入6幅图像(每一幅图像的大小是564*564) f1 imread(WashingtonDC_Band1_564.tif); subplot(3,2,1),imshow(f1); f2 imread(WashingtonDC_Band2_564.tif); subplot(3,2,2),imshow(f2); f3 imread(WashingtonDC_Band3_564.tif); subplot(3,2,3),imsho…...
2022/11/19 21:17:16 - 配置 已完成 请勿关闭计算机,win7系统关机提示“配置Windows Update已完成30%请勿关闭计算机...
win7系统关机提示“配置Windows Update已完成30%请勿关闭计算机”问题的解决方法在win7系统关机时如果有升级系统的或者其他需要会直接进入一个 等待界面,在等待界面中我们需要等待操作结束才能关机,虽然这比较麻烦,但是对系统进行配置和升级…...
2022/11/19 21:17:15 - 台式电脑显示配置100%请勿关闭计算机,“准备配置windows 请勿关闭计算机”的解决方法...
有不少用户在重装Win7系统或更新系统后会遇到“准备配置windows,请勿关闭计算机”的提示,要过很久才能进入系统,有的用户甚至几个小时也无法进入,下面就教大家这个问题的解决方法。第一种方法:我们首先在左下角的“开始…...
2022/11/19 21:17:14 - win7 正在配置 请勿关闭计算机,怎么办Win7开机显示正在配置Windows Update请勿关机...
置信有很多用户都跟小编一样遇到过这样的问题,电脑时发现开机屏幕显现“正在配置Windows Update,请勿关机”(如下图所示),而且还需求等大约5分钟才干进入系统。这是怎样回事呢?一切都是正常操作的,为什么开时机呈现“正…...
2022/11/19 21:17:13 - 准备配置windows 请勿关闭计算机 蓝屏,Win7开机总是出现提示“配置Windows请勿关机”...
Win7系统开机启动时总是出现“配置Windows请勿关机”的提示,没过几秒后电脑自动重启,每次开机都这样无法进入系统,此时碰到这种现象的用户就可以使用以下5种方法解决问题。方法一:开机按下F8,在出现的Windows高级启动选…...
2022/11/19 21:17:12 - 准备windows请勿关闭计算机要多久,windows10系统提示正在准备windows请勿关闭计算机怎么办...
有不少windows10系统用户反映说碰到这样一个情况,就是电脑提示正在准备windows请勿关闭计算机,碰到这样的问题该怎么解决呢,现在小编就给大家分享一下windows10系统提示正在准备windows请勿关闭计算机的具体第一种方法:1、2、依次…...
2022/11/19 21:17:11 - 配置 已完成 请勿关闭计算机,win7系统关机提示“配置Windows Update已完成30%请勿关闭计算机”的解决方法...
今天和大家分享一下win7系统重装了Win7旗舰版系统后,每次关机的时候桌面上都会显示一个“配置Windows Update的界面,提示请勿关闭计算机”,每次停留好几分钟才能正常关机,导致什么情况引起的呢?出现配置Windows Update…...
2022/11/19 21:17:10 - 电脑桌面一直是清理请关闭计算机,windows7一直卡在清理 请勿关闭计算机-win7清理请勿关机,win7配置更新35%不动...
只能是等着,别无他法。说是卡着如果你看硬盘灯应该在读写。如果从 Win 10 无法正常回滚,只能是考虑备份数据后重装系统了。解决来方案一:管理员运行cmd:net stop WuAuServcd %windir%ren SoftwareDistribution SDoldnet start WuA…...
2022/11/19 21:17:09 - 计算机配置更新不起,电脑提示“配置Windows Update请勿关闭计算机”怎么办?
原标题:电脑提示“配置Windows Update请勿关闭计算机”怎么办?win7系统中在开机与关闭的时候总是显示“配置windows update请勿关闭计算机”相信有不少朋友都曾遇到过一次两次还能忍但经常遇到就叫人感到心烦了遇到这种问题怎么办呢?一般的方…...
2022/11/19 21:17:08 - 计算机正在配置无法关机,关机提示 windows7 正在配置windows 请勿关闭计算机 ,然后等了一晚上也没有关掉。现在电脑无法正常关机...
关机提示 windows7 正在配置windows 请勿关闭计算机 ,然后等了一晚上也没有关掉。现在电脑无法正常关机以下文字资料是由(历史新知网www.lishixinzhi.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!关机提示 windows7 正在配…...
2022/11/19 21:17:05 - 钉钉提示请勿通过开发者调试模式_钉钉请勿通过开发者调试模式是真的吗好不好用...
钉钉请勿通过开发者调试模式是真的吗好不好用 更新时间:2020-04-20 22:24:19 浏览次数:729次 区域: 南阳 > 卧龙 列举网提醒您:为保障您的权益,请不要提前支付任何费用! 虚拟位置外设器!!轨迹模拟&虚拟位置外设神器 专业用于:钉钉,外勤365,红圈通,企业微信和…...
2022/11/19 21:17:05 - 配置失败还原请勿关闭计算机怎么办,win7系统出现“配置windows update失败 还原更改 请勿关闭计算机”,长时间没反应,无法进入系统的解决方案...
前几天班里有位学生电脑(windows 7系统)出问题了,具体表现是开机时一直停留在“配置windows update失败 还原更改 请勿关闭计算机”这个界面,长时间没反应,无法进入系统。这个问题原来帮其他同学也解决过,网上搜了不少资料&#x…...
2022/11/19 21:17:04 - 一个电脑无法关闭计算机你应该怎么办,电脑显示“清理请勿关闭计算机”怎么办?...
本文为你提供了3个有效解决电脑显示“清理请勿关闭计算机”问题的方法,并在最后教给你1种保护系统安全的好方法,一起来看看!电脑出现“清理请勿关闭计算机”在Windows 7(SP1)和Windows Server 2008 R2 SP1中,添加了1个新功能在“磁…...
2022/11/19 21:17:03 - 请勿关闭计算机还原更改要多久,电脑显示:配置windows更新失败,正在还原更改,请勿关闭计算机怎么办...
许多用户在长期不使用电脑的时候,开启电脑发现电脑显示:配置windows更新失败,正在还原更改,请勿关闭计算机。。.这要怎么办呢?下面小编就带着大家一起看看吧!如果能够正常进入系统,建议您暂时移…...
2022/11/19 21:17:02 - 还原更改请勿关闭计算机 要多久,配置windows update失败 还原更改 请勿关闭计算机,电脑开机后一直显示以...
配置windows update失败 还原更改 请勿关闭计算机,电脑开机后一直显示以以下文字资料是由(历史新知网www.lishixinzhi.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!配置windows update失败 还原更改 请勿关闭计算机&#x…...
2022/11/19 21:17:01 - 电脑配置中请勿关闭计算机怎么办,准备配置windows请勿关闭计算机一直显示怎么办【图解】...
不知道大家有没有遇到过这样的一个问题,就是我们的win7系统在关机的时候,总是喜欢显示“准备配置windows,请勿关机”这样的一个页面,没有什么大碍,但是如果一直等着的话就要两个小时甚至更久都关不了机,非常…...
2022/11/19 21:17:00 - 正在准备配置请勿关闭计算机,正在准备配置windows请勿关闭计算机时间长了解决教程...
当电脑出现正在准备配置windows请勿关闭计算机时,一般是您正对windows进行升级,但是这个要是长时间没有反应,我们不能再傻等下去了。可能是电脑出了别的问题了,来看看教程的说法。正在准备配置windows请勿关闭计算机时间长了方法一…...
2022/11/19 21:16:59 - 配置失败还原请勿关闭计算机,配置Windows Update失败,还原更改请勿关闭计算机...
我们使用电脑的过程中有时会遇到这种情况,当我们打开电脑之后,发现一直停留在一个界面:“配置Windows Update失败,还原更改请勿关闭计算机”,等了许久还是无法进入系统。如果我们遇到此类问题应该如何解决呢࿰…...
2022/11/19 21:16:58 - 如何在iPhone上关闭“请勿打扰”
Apple’s “Do Not Disturb While Driving” is a potentially lifesaving iPhone feature, but it doesn’t always turn on automatically at the appropriate time. For example, you might be a passenger in a moving car, but your iPhone may think you’re the one dri…...
2022/11/19 21:16:57