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);
}
}
上傳圖片手機接口,mvc代碼
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章
ASP.NET 4當中Url Routing的支援
dotnetwalker
2018-08-27 19:47:48
Jquery ajax 返回string類型加result.d原因
kamboo
2018-08-27 19:43:36
【疑難】iis重裝後不能運行asp.net
inetfuture
2018-08-27 19:31:13
關於ASP.NET中的Forms身份驗證詳解
俩定
2018-08-27 19:19:27
記一次ASP.NET無法連接數據庫問題的解決方法(ORA-01017)
俩定
2018-08-27 19:19:16
謹慎使用TakeWhile來篩選數據
俩定
2018-08-27 19:19:16
ASP.NET Session State FAQ
俩定
2018-08-27 19:19:12
uploadify3.2.1版插件在ASP.NET中的使用
scioo
2018-08-27 19:12:28
ASP.NET 網站管理—數據存儲問題
scioo
2018-08-27 19:12:28
氣死人的 uploadify3.2.1 插件
scioo
2018-08-27 19:12:28
IPrincipal 和 IIdentity 接口
stoneoil
2018-08-27 19:05:54
如何實現 IPrincipal
stoneoil
2018-08-27 19:05:21
ASP.NET有關目錄操作的常識
stoneoil
2018-08-27 19:05:19
分佈式應用程序的身份驗證和授權方法
stoneoil
2018-08-27 19:05:19