<head runat="server">
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>手机移动端上传头像裁剪图片代码</title>
<link href="css/style.css" rel="stylesheet" type="text/css" />
<meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1" />
<meta name="viewport" content="width=device-width, initial-scale=1.0, minimum-scale=1.0, maximum-scale=1.0, user-scalable=no, minimal-ui" />
<meta name="apple-mobile-web-app-capable" content="yes" />
<meta name="format-detection" content="telephone=no, email=no" />
</head>
<body>
<form id="form1" runat="server">
<header>
<img src="images/rpw_back_n.png" />
<span>上传头像</span>
<div class="clear"></div>
</header>
<section class="logo-license">
<div class="half">
<a class="logo" id="logox">
<img id="bgl" src="images/logo_n.png" />
</a>
<p>企业LOGO</p>
</div>
<div class="clear"></div>
</section>
<article class="htmleaf-container">
<div id="clipArea"></div>
<div class="foot-use">
<div class="uploader1 blue">
<input type="button" name="file" class="button" value="打开" />
<input id="file" type="file" accept="image/*" />
</div>
<button id="clipBtn" type="button">截取</button>
</div>
<div id="view"></div>
</article>
<button id="btnSave" type="button">保存</button>
</form>
</body>
@charset "utf-8";
/* CSS Document */
/*公共部分*/
* { font-family: "microsoft yahei", "helvetica", "heiti SC", "droid", "sans"; word-spacing: 0px; letter-spacing: .02rem; font-size: 62.5%; margin: 0; padding: 0; }
body { /*position: relative;*/ }
.fl { float: left; }
.fr { float: right; }
.clear { clear: both; }
.blank { margin-bottom: 4rem; }
header { background: #18b4ed; width: 100%; height: 5rem; position: fixed; top: 0; left: 0; }
header img { width: 3rem; height: 3rem; margin-top: 1rem; float: left; z-index: 999999999; }
header span { line-height: 5rem; font-size: 2rem; color: #fff; float: left; }
.half { width: 50%; float: left; position: relative; }
.half > a { position: relative; width: 8rem; display: inline-block; background: #18b4ed; height: 8rem; left: 50%; margin-left: -4rem; }
.half > a img { width: 5rem; height: 4.16rem; margin-left: 1.5rem; margin-top: 1.92rem; }
.half > p { font-size: 1.5rem; text-align: center; position: relative; bottom: 0; margin-top: 1.2rem; color: #999; }
.logo-license { margin-top: 8rem; }
.license { position: relative; width: 8rem; display: inline-block; background: #18b4ed; height: 8rem; left: 50%; margin-left: -4rem; }
.license > img { width: 5rem; height: 4.16rem; margin-left: 1.5rem; margin-top: 1.92rem; }
.logo { border-radius: 100%; }
/*图片裁剪-触屏设备*/
@import url(reset.css);
@font-face { font-family: 'icomoon'; src: url('../fonts/icomoon.eot?rretjt'); src: url('../fonts/icomoon.eot?#iefixrretjt') format('embedded-opentype'), url('../fonts/icomoon.woff?rretjt') format('woff'), url('../fonts/icomoon.ttf?rretjt') format('truetype'), url('../fonts/icomoon.svg?rretjt#icomoon') format('svg'); font-weight: normal; font-style: normal; }
[class^="icon-"], [class*=" icon-"] { font-family: 'icomoon'; speak: none; font-style: normal; font-weight: normal; font-variant: normal; text-transform: none; line-height: 1; /* Better Font Rendering =========== */ -webkit-font-smoothing: antialiased; -moz-osx-font-smoothing: grayscale; }
/* Reset */
*,
*:after,
*:before { -webkit-box-sizing: border-box; -moz-box-sizing: border-box; box-sizing: border-box; }
/* Clearfix hack by Nicolas Gallagher: http://nicolasgallagher.com/micro-clearfix-hack/ */
.clearfix:before,
.clearfix:after { content: " "; display: table; }
.clearfix:after { clear: both; }
.htmleaf-container { margin: 0 auto; text-align: center; overflow: hidden; width: 100%; height: 100%; position: fixed; top: 0; background: #000; display: none; z-index: 9999999; }
.htmleaf-content { font-size: 150%; padding: 1em 0; }
.htmleaf-content h2 { margin: 0 0 2em; opacity: 0.1; }
.htmleaf-content p { margin: 1em 0; padding: 5em 0 0 0; font-size: 0.65em; }
.bgcolor-1 { background: #f0efee; }
.bgcolor-2 { background: #f9f9f9; }
.bgcolor-3 { background: #e8e8e8; }
/*light grey*/
.bgcolor-4 { background: #2f3238; color: #fff; }
/*Dark grey*/
.bgcolor-5 { background: #df6659; color: #521e18; }
/*pink1*/
.bgcolor-6 { background: #2fa8ec; }
/*sky blue*/
.bgcolor-7 { background: #d0d6d6; }
/*White tea*/
.bgcolor-8 { background: #3d4444; color: #fff; }
/*Dark grey2*/
.bgcolor-9 { background: #ef3f52; color: #fff; }
/*pink2*/
.bgcolor-10 { background: #64448f; color: #fff; }
/*Violet*/
.bgcolor-11 { background: #3755ad; color: #fff; }
/*dark blue*/
.bgcolor-12 { background: #3498DB; color: #fff; }
/*light blue*/
.bgcolor-20 { background: #494A5F; color: #D5D6E2; }
/* Header */
.htmleaf-header { padding: 1em 190px 1em; letter-spacing: -1px; text-align: center; background: #66677c; }
.htmleaf-header h1 { color: #D5D6E2; font-weight: 600; font-size: 2em; line-height: 1; margin-bottom: 0; font-family: "Microsoft YaHei","宋体","Segoe UI", "Lucida Grande", Helvetica, Arial,sans-serif, FreeSans, Arimo; }
.htmleaf-header h1 span { font-family: "Microsoft YaHei","宋体","Segoe UI", "Lucida Grande", Helvetica, Arial,sans-serif, FreeSans, Arimo; display: block; font-size: 60%; font-weight: 400; padding: 0.8em 0 0.5em 0; color: #c3c8cd; }
/*nav*/
.htmleaf-demo a { color: #1d7db1; text-decoration: none; }
.htmleaf-demo { width: 100%; padding-bottom: 1.2em; }
.htmleaf-demo a { display: inline-block; margin: 0.5em; padding: 0.6em 1em; border: 3px solid #1d7db1; font-weight: 700; }
.htmleaf-demo a:hover { opacity: 0.6; }
.htmleaf-demo a.current { background: #1d7db1; color: #fff; }
/* Top Navigation Style */
.htmleaf-links { position: relative; display: inline-block; white-space: nowrap; font-size: 1.5em; text-align: center; }
.htmleaf-links::after { position: absolute; top: 0; left: 50%; margin-left: -1px; width: 2px; height: 100%; background: #dbdbdb; content: ''; -webkit-transform: rotate3d(0,0,1,22.5deg); transform: rotate3d(0,0,1,22.5deg); }
.htmleaf-icon { display: inline-block; margin: 0.5em; padding: 0em 0; width: 1.5em; text-decoration: none; }
.htmleaf-icon span { display: none; }
.htmleaf-icon:before { margin: 0 5px; text-transform: none; font-weight: normal; font-style: normal; font-variant: normal; font-family: 'icomoon'; line-height: 1; speak: none; -webkit-font-smoothing: antialiased; }
/* footer */
.htmleaf-footer { width: 100%; padding-top: 10px; }
.htmleaf-small { font-size: 0.8em; }
.center { text-align: center; }
.related { color: #fff; background: #494A5F; text-align: center; font-size: 1.25em; padding: 0.5em 0; overflow: hidden; }
.related > a { vertical-align: top; width: calc(100% - 20px); max-width: 340px; display: inline-block; text-align: center; margin: 20px 10px; padding: 25px; font-family: "Microsoft YaHei","宋体","Segoe UI", "Lucida Grande", Helvetica, Arial,sans-serif, FreeSans, Arimo; }
.related a { display: inline-block; text-align: left; margin: 20px auto; padding: 10px 20px; opacity: 0.8; -webkit-transition: opacity 0.3s; transition: opacity 0.3s; -webkit-backface-visibility: hidden; }
.related a:hover,
.related a:active { opacity: 1; }
.related a img { max-width: 100%; opacity: 0.8; border-radius: 4px; }
.related a:hover img,
.related a:active img { opacity: 1; }
.related h3 { font-family: "Microsoft YaHei", sans-serif; }
.related a h3 { font-weight: 300; margin-top: 0.15em; color: #fff; }
/* icomoon */
.icon-htmleaf-home-outline:before { content: "\e5000"; }
.icon-htmleaf-arrow-forward-outline:before { content: "\e5001"; }
@media screen and (max-width: 50em) {
.htmleaf-header { padding: 3em 10% 4em; }
.htmleaf-header h1 { font-size: 2em; }
}
@media screen and (max-width: 40em) {
.htmleaf-header h1 { font-size: 1.5em; }
}
@media screen and (max-width: 30em) {
.htmleaf-header h1 { font-size: 1.2em; }
}
article, aside, details, figcaption, figure, footer, header, hgroup, main, nav, section, summary { display: block; }
audio, canvas, video { display: inline-block; }
audio:not([controls]) { display: none; height: 0; }
[hidden] { display: none; }
html { font-family: sans-serif; -ms-text-size-adjust: 100%; -webkit-text-size-adjust: 100%; }
body { margin: 0; }
a:focus { outline: thin dotted; }
a:active, a:hover { outline: 0; }
h1 { font-size: 2em; margin: 0.67em 0; }
abbr[title] { border-bottom: 1px dotted; }
b, strong { font-weight: bold; }
dfn { font-style: italic; }
hr { -moz-box-sizing: content-box; box-sizing: content-box; height: 0; }
mark { background: #ff0; color: #000; }
code, kbd, pre, samp { font-family: monospace, serif; font-size: 1em; }
pre { white-space: pre-wrap; }
q { quotes: "\201C" "\201D" "\2018" "\2019"; }
small { font-size: 80%; }
sub, sup { font-size: 75%; line-height: 0; position: relative; vertical-align: baseline; }
sup { top: -0.5em; }
sub { bottom: -0.25em; }
img { border: 0; }
svg:not(:root) { overflow: hidden; }
figure { margin: 0; }
fieldset { border: 1px solid #c0c0c0; margin: 0 2px; padding: 0.35em 0.625em 0.75em; }
legend { border: 0; padding: 0; }
button, input, select, textarea { font-family: inherit; font-size: 100%; margin: 0; }
button, input { line-height: normal; }
button, select { text-transform: none; }
button, html input[type="button"], input[type="reset"], input[type="submit"] { -webkit-appearance: button; cursor: pointer; }
button[disabled], html input[disabled] { cursor: default; }
input[type="checkbox"], input[type="radio"] { box-sizing: border-box; padding: 0; }
input[type="search"] { -webkit-appearance: textfield; -moz-box-sizing: content-box; -webkit-box-sizing: content-box; box-sizing: content-box; }
input[type="search"]::-webkit-search-cancel-button, input[type="search"]::-webkit-search-decoration { -webkit-appearance: none; }
button::-moz-focus-inner, input::-moz-focus-inner { border: 0; padding: 0; }
textarea { overflow: auto; vertical-align: top; }
table { border-collapse: collapse; border-spacing: 0; }
#clipArea { height: 90%; }
/*上传图标*/
#file { float: left; height: 100%; }
#btnSave, #clipBtn { float: right; height: 100%; width: 8rem; background: #18b4ed; border: 0; outline: none; color: #fff; font-size: 2rem; z-index: 999; }
#btnSave { margin-right: 100px; }
.foot-use { background: #fff; height: 10%; width: 100%; position: relative; }
.uploader { position: absolute; width: 54%; height: 8rem; left: 23%; cursor: default; height: 100%; float: left; }
.uploader1 { position: absolute; width: 50%; height: 8rem; cursor: default; height: 100%; float: left; }
.filename { position: absolute; outline: 0 none; line-height: 1.5rem; font-size: 1.5rem; color: #999; width: 100%; margin: 0; overflow: hidden; cursor: default; text-overflow: ellipsis; white-space: nowrap; border: 0; top: 9.2rem; text-align: center; }
.button { float: left; height: 100%; display: inline-block; outline: 0 none; margin: 0; cursor: pointer; border: 0; width: 8rem; font-size: 2rem; }
.uploader input[type=file] { position: absolute; top: 0; right: 0; bottom: 0; border: 0; padding: 0; margin: 0; height: 8rem; width: 100%; cursor: pointer; border: solid 1px #ddd; opacity: 0; }
.uploader1 input[type=file] { position: absolute; top: 0; left: 0; bottom: 0; border: 0; padding: 0; margin: 0; height: 8rem; width: 50%; cursor: pointer; border: solid 1px #ddd; opacity: 0; }
input[type=button]::-moz-focus-inner { padding: 0; border: 0 none; -moz-box-sizing: content-box; }
input[type=button]::-webkit-focus-inner { padding: 0; border: 0 none; -webkit-box-sizing: content-box; }
input[type=text]::-moz-focus-inner { padding: 0; border: 0 none; -moz-box-sizing: content-box; }
input[type=text]::-webkit-focus-inner { padding: 0; border: 0 none; -webkit-box-sizing: content-box; }
.blue .button { color: #fff; background: #18b4ed; height: 100%; }
.info { margin-top: 4rem; border-top: solid 1px #ddd; }
.info ul li { list-style-type: none; padding: 1.5rem 0; border-bottom: solid 1px #eee; width: 98%; margin: auto; }
.info ul li .left { width: 25%; float: left; position: relative; text-align: right; font-size: 1.5rem; color: #999; }
.info ul li .right { width: 72%; float: right; position: relative; text-align: left; font-size: 1.5rem; }
.info ul li .right input { outline: none; border: 0; }
.btn-1 { margin-top: 3rem; margin-bottom: 2rem; text-align: center; }
.btn-1 button { width: 90%; outline: none; border: none; background: #18b4ed; color: #fff; height: 5rem; display: inline-block; border-radius: 0.4rem; font-size: 2rem; }
/*所属行业*/
#divselect, #divselectx, #divselecty { width: 100%; position: relative; }
#divselect small, #divselectx small, #divselecty small { font-size: 1.5rem; color: #999; width: 100%; display: block; }
#divselect .all, #divselectx .all, #divselecty .all { display: none; width: 80%; max-height: 80%; position: fixed; top: 10%; left: 10%; overflow: auto; border: solid 1px #ddd; background: #fff; opacity: 0.9; box-shadow: 0px 1px 1px #999; z-index: 99999; border-radius: 0.5rem; }
#divselect .all li, #divselectx .all li, #divselecty .all li { text-indent: 1rem; line-height: 5rem; padding: 0; }
#divselect .all li a, #divselectx .all li a, #divselecty .all li a { text-decoration: none; color: #666; font-size: 1.5rem; display: block; }
.mask { width: 100%; height: 100%; position: fixed; background: #000; opacity: 0.6; z-index: 9999; top: 0; left: 0; display: none; }
.second { margin-top: 1rem; border-top: solid 1px #eee; padding-top: 1rem; }
.place::-webkit-input-placeholder { color: #f00; }
.yulan { position: fixed; width: 100%; height: 100%; display: none; top: 0; left: 0; text-align: center; line-height: 100%; background: #000; z-index: 99999999; }
.yulan #img0 { display: inline-block; max-width: 90%; line-height: 100%; max-height: 90%; top: 40%; left: 50%; -webkit-transform: translate(-50%, -40%); position: absolute; }
.enter { position: absolute; height: 10%; bottom: 0; left: 0; width: 100%; background: #fff; }
.enter .btn-2, .enter .btn-3 { border: 0; outline: none; background: #18b4ed; color: #fff; height: 100%; width: 8rem; font-size: 2rem; }
.success { margin: auto; width: 100%; text-align: center; top: 0; left: 0; position: absolute; }
.install > p { font-size: 1.7rem; color: #999; padding: 0 3rem; line-height: 2rem; position: absolute; bottom: 10rem; /* text-align: center;*/ }
.install button { width: 90%; left: 5%; position: absolute; bottom: 3rem; height: 5rem; background: #18b4ed; border: 0; outline: none; cursor: default; color: #fff; font-size: 2rem; border-radius: 0.5rem; }
.yeah { position: relative; margin-top: 5rem; text-align: center; top: 5rem; }
.yeah > img { width: 8rem; height: 8rem; padding: 1rem; border-radius: 100%; background: #18b4ed; margin: 1rem auto; display: inline-block; }
.yeah > p { font-size: 2rem; color: #18b4ed; padding: 0 3rem; line-height: 3rem; text-align: center; }
header .close { width: 2rem; height: 2rem; margin-top: 1.5rem; margin-left: 1rem; }
.mybonus { background: #fff; margin-top: 5rem; }
.mybonus li { padding: 0 1rem; border-bottom: solid 1px #eee; }
.mybonus li .left { float: left; }
.mybonus li .right { float: right; text-align: right; }
.mybonus li .left h3 { color: #333; font-size: 1.8rem; max-width: 12.1em; white-space: nowrap; overflow: hidden; }
.mybonus li p { font-size: 1.8rem; color: #999; margin-top: 0.5rem; margin-bottom: 0.7rem; }
.mybonus li .right h3 { color: #ff5500; font-size: 1.8rem; }
.scanmybonus { z-index: 99999999999999; position: absolute; top: 0; right: 0; height: 5rem; }
.scanmybonus img { height: 3rem; margin-top: 1rem; }
article .bg { width: 100%; height: 100%; position: fixed; top: 5rem; left: 0; z-index: -1; opacity: 0.7; }
.sel-main { position: fixed; width: 80%; height: 50%; background: #fff; left: 10%; top: 25%; border-radius: 0.8rem; }
.self-help, .invitation { width: 90%; height: 40%; background: #eee; left: 5%; position: absolute; border-radius: 0.6rem; }
.self-help { top: 2rem; }
.invitation { bottom: 2rem; }
.self-help .icon, .invitation .icon { height: 60%; float: left; top: 20%; position: relative; left: 1rem; }
.self-help .main, .invitation .main { display: inline-block; float: left; position: relative; left: 2rem; }
.self-help .main h2, .invitation .main h2 { font-size: 1.8rem; margin-top: 2.8rem; color: #242424; }
.self-help .main p, .invitation .main p { font-size: 1.3rem; margin-top: 0.5rem; color: #999; }
.self-help .main p a, .invitation .main p a { font-size: 1.3rem; color: #eb9e19; }
.self-help .sel, .invitation .sel { height: 2rem; position: absolute; top: 50%; margin-top: -1rem; right: 1rem; }
@media screen and (max-width: 414px) and (min-width: 376px) {
.mybonus li .left h3 { color: #333; font-size: 1.8rem; max-width: 20em; white-space: nowrap; overflow: hidden; }
.self-help .main, .invitation .main { display: inline-block; float: left; position: relative; left: 3rem; }
.self-help .main h2, .invitation .main h2 { font-size: 2.1rem; margin-top: 3.5rem; color: #242424; }
.self-help .main p, .invitation .main p { font-size: 1.55rem; margin-top: 0.5rem; color: #999; }
.self-help .main p a, .invitation .main p a { font-size: 1.55rem; color: #eb9e19; }
}
@media screen and (max-width: 375px) and (min-width: 321px) {
.self-help .main h2, .invitation .main h2 { font-size: 1.8rem; margin-top: 3.5rem; color: #242424; }
.self-help .main, .invitation .main { display: inline-block; float: left; position: relative; left: 3rem; }
.mybonus li .left h3 { color: #333; font-size: 1.8rem; max-width: 14em; white-space: nowrap; overflow: hidden; }
.self-help .main p, .invitation .main p { font-size: 1.3rem; margin-top: 0.5rem; color: #999; }
.self-help .main p a, .invitation .main p a { font-size: 1.3rem; color: #eb9e19; }
}
@media screen and (max-width: 320px) {
.self-help .main h2, .invitation .main h2 { font-size: 1.8rem; margin-top: 2.5rem; color: #242424; }
.self-help .main p, .invitation .main p { font-size: 1.3rem; margin-top: 0.5rem; color: #999; }
.self-help .main p a, .invitation .main p a { font-size: 1.3rem; color: #eb9e19; }
}
header .scanbonus { width: 40%; height: 5rem; background: #18b4ed; position: fixed; line-height: 5rem; color: #fff; font-size: 1.5rem; text-indent: 1rem; top: 5rem; right: 1rem; display: none; }
.invit { position: absolute; width: 100%; top: 5rem; }
.invit h1 { font-size: 6rem; color: #18b4ed; text-align: center; line-height: 4rem; }
.invit p { text-align: center; color: #18b4ed; font-size: 2.2rem; margin-top: -2rem; }
.make-money .make { position: absolute; width: 50%; left: 25%; top: 22rem; }
.make-money .make .font-1 { color: #ff5500; font-size: 2.2rem; position: absolute; top: 2.2rem; }
.make-money .make .font-2 { color: #ff5500; font-size: 11rem; position: absolute; left: 2.2rem; }
.make-money .make .font-3 { color: #ff5500; font-size: 2.2rem; position: absolute; left: 13.9rem; top: 9rem; top: 7.5rem; }
.make-money img { width: 80%; left: 10%; position: absolute; top: 18rem; z-index: -11; }
.btn-4 { border: 0; width: 90%; height: 5rem; color: #fff; font-size: 2rem; background: #18b4ed; left: 5%; position: fixed; outline: none; cursor: default; border-radius: 0.5rem; bottom: 5rem; }
.btn-5 { border: 0; width: 90%; height: 5rem; color: #fff; font-size: 2rem; background: #18b4ed; left: 5%; position: fixed; outline: none; cursor: default; border-radius: 0.5rem; bottom: 3rem; }
.scan-a { position: fixed; width: 90%; left: 5%; bottom: 1.5rem; font-size: 1.5rem; color: #999; text-align: center; height: 3rem; line-height: 3rem; }
.qrcode { position: absolute; width: 90%; left: 5%; top: 7rem; background: #fff; border-radius: .5rem; }
.qrcode h2 { font-size: 1.5rem; text-align: center; margin-top: 2rem; color: #999; font-weight: normal; }
.qrcode p { text-align: center; margin-top: 1rem; font-size: 1.2rem; color: #999; }
.qrcode img { position: relative; width: 54%; left: 23%; margin-top: 2rem; margin-bottom: 3rem; }
.share { position: absolute; text-align: center; bottom: 9rem; width: 100%; font-size: 1.5rem; color: #999; }
.share a { font-size: 1.5rem; color: #ff5500; }
<script src="../theme/js/jquery.min.js"></script>
<script src="js/iscroll-zoom.js"></script>
<script src="js/hammer.js"></script>
<script src="js/jquery.photoClip.js"></script>
下载地址:脚本及demo参考
<script type="text/javascript">
var obUrl = ''
//document.addEventListener('touchmove', function (e) { e.preventDefault(); }, false);
$("#clipArea").photoClip({
width: 250,//199
height: 250,//166
file: "#file",
view: "#view",
ok: "#clipBtn",
loadStart: function () {
//console.log("照片读取中");
},
loadComplete: function () {
//console.log("照片读取完成");
},
clipFinish: function (dataURL) {
//console.log(dataURL);
}
});
</script>
<script type="text/javascript">
$(function () {
//上传图片
$("#logox").click(function () {
$(".htmleaf-container").show();
})
//截取
$("#clipBtn").click(function () {
$("#logox").empty();
$('#logox').append('<img src="' imgsource '" align="absmiddle" style=" width: 5rem;height: 4.16rem; margin-left: 1.5rem;margin-top: 1.92rem">');
$(".htmleaf-container").hide();
})
//保存
$("#btnSave").click(function () {
$.post("/test/ashx/ashx.ashx",
{ action: "uploadimg-mobile", imgbase64str: imgsource },
function (datajson) {
});
})
});
</script>
case "uploadimg-mobile"://上传图片 手机端
sb.Append(UploadimgMobile(context));
break;
/// <summary>
/// 上传图片 手机端
/// </summary>
/// <param name="context"></param>
/// <returns></returns>
private string UploadimgMobile(HttpContext context)
{
string imgbase64str = context.Request.Params["imgbase64str"]??"";
string[] arr = { ";base64," };
string[] res = imgbase64str.Split(arr, StringSplitOptions.RemoveEmptyEntries);
string savepath = "/uploadfiles/test/" DateTime.Now.ToString("yyyyMM") "/" Guid.NewGuid().ToString("N") ".jpeg";
try
{
byte[] b = Convert.FromBase64String(res[1]);
MemoryStream ms = new MemoryStream(b);
Bitmap bitmap = new Bitmap(ms);
bitmap.Save(context.Server.MapPath(savepath));
}
catch (Exception ex)
{
savepath = "";
Log.Error("手机端上传头像失败-" ex.StackTrace);
}
return savepath;
}
更多专业前端知识,请上 【猿2048】www.mk2048.com