您的位置:首页 > 编程语言

上传图片手机接口,mvc代码

2016-02-27 14:09 148 查看
public String UpLoadImage()

{

HttpPostedFileBase file = Request.Files["Filedata"];//Filedata与手机端命名要一致

jsonResult jr = new jsonResult();

jr.Message = file.FileName;

jr.SuccessFlag = "1";

string bigimgurl = "";

string strerror = "";

string sFilename = "";

int iUserId = 0;

GuestUser gu = new GuestUser();

try

{

using (JZDBContext db = new JZDBContext())

{

gu = db.GuestUsers.SingleOrDefault(p => p.TokenID == TokenID);

if (gu == null)

{

jr.SuccessFlag = "1";

jr.Message = "登录信息不正确,请重新登录。";

return Common.JsonSerialize(jr);

}

iUserId = gu.Id;

}

if (file.FileName != null || file != null)

{

int nFileLen = file.ContentLength;

if (nFileLen == 0)

{

strerror = "没有选择上传图片!";

}

//获取upImage选择文件的扩展名

string extendName = System.IO.Path.GetExtension(file.FileName).ToLower();

//判断是否为图片格式

if (extendName != ".jpg" && extendName != ".jpge" && extendName != ".gif" && extendName != ".bmp" && extendName != ".png")

{

strerror = "图片格式不正确!";

jr.Message = strerror;

return Common.JsonSerialize(jr);

}

byte[] myData = new Byte[nFileLen];

file.InputStream.Read(myData, 0, nFileLen);

Random ra = new Random();

String strTemp = DateTime.Now.ToString("yyMMddHHmmss");

strTemp = strTemp + ra.Next(0, 99).ToString();

sFilename = strTemp + System.IO.Path.GetFileName(file.FileName);

int file_append = 0;

string sSavePath = "/Upload/Images/" + DateTime.Now.ToString("yyyy-MM-dd") + "/big/";

//确认是否存在虚拟目录,不存在则创建

Directory.CreateDirectory(Path.GetDirectoryName(Request.MapPath(sSavePath)));

string bigPath = System.Web.HttpContext.Current.Server.MapPath(sSavePath + sFilename);

if (bigimgurl != "")

{

bigimgurl += "、";

}

bigimgurl += sSavePath + sFilename;

//检查当前文件夹下是否有同名图片,有则在文件名+1

while (System.IO.File.Exists(bigPath))

{

file_append++;

sFilename = strTemp + System.IO.Path.GetFileNameWithoutExtension(file.FileName)

+ file_append.ToString() + extendName;

}

//上传图片到服务器

System.IO.FileStream newFile

= new System.IO.FileStream(bigPath,

System.IO.FileMode.Create, System.IO.FileAccess.Write);

newFile.Write(myData, 0, myData.Length);

newFile.Close();

FileStream fs = new FileStream(Server.MapPath(sSavePath + sFilename), FileMode.Open, FileAccess.Read);

BinaryReader reader = new BinaryReader(fs);

string fileClass;

byte buffer;

byte[] b = new byte[2];

buffer = reader.ReadByte();

b[0] = buffer;

fileClass = buffer.ToString();

buffer = reader.ReadByte();

b[1] = buffer;

fileClass += buffer.ToString();

reader.Close();

fs.Close();

}

else

{

strerror = "没有选择图片!";

jr.Message = strerror;

return Common.JsonSerialize(jr);

}

if(bigimgurl != "")

{

jr.Message = "上传图片成功";

jr.SuccessFlag = "0";

jr.Data = bigimgurl;

return Common.JsonSerialize(jr);

}

catch (Exception ex)

{

jr.Message = ex.Message;

return Common.JsonSerialize(jr);

}

}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: