IEnumerator Upload(string data, UploadSuccess Success = null) { LoaderUI.instance.ShowLoader(); UnityWebRequest www = UnityWebRequest.Get(string.Format("https://www.gallery.kg/api/assistant/проверка-изображения?магазин={0}&номенклатура={1}&результат={2}&userid={3}", DataManager.instance.StoreName, DataManager.instance.Vendor, data, DataManager.instance.UserID)); yield return(www.SendWebRequest()); LoaderUI.instance.HideLoaderPanel(); if (!string.IsNullOrEmpty(www.error)) { Debug.Log(www.error); MessageManager.instance.StartWaitWindow("Не удалось отправить данные на сервер.\n " + www.error); yield break; } else { if (Success != null) { Success(); } } }
/// <summary> /// 上传图片的统一处理 /// </summary> public void UploadAutoHandle(UploadSuccess onSuccess = null) { this.MaxSize = ReqHelper.GetInt("maxsize", 1024); this.MinSize = ReqHelper.GetInt("minsize", 0); try { //判断是否需要后台,剪切图片 string isClip = ReqHelper.GetString("isclip", "0"); string filename = ""; if (isClip == "0")//接收上传文件 { //简单上传文件 filename = this.Upload(); } else if (isClip == "1")//图片后台剪切 { //获取 target的宽高 int targetWidth = ReqHelper.GetInt("targetwidth", 100); int targetHeight = ReqHelper.GetInt("targetheight", 100); filename = this.UploadWirthClip(targetWidth, targetWidth); } else if (isClip == "-1") //前台剪切或图片压缩 { //1.获取图片扩展名 string extentions = ReqHelper.GetString("extention"); //接收图片数据 filename = this.UploadImg(extentions); //2.判断是否自动移动图片 bool automove = ReqHelper.GetBool("automove", false); if (automove) { string subfolder = ReqHelper.GetString("subfolder"); filename = Move(filename, subfolder, onSuccess); } } ReqHelper.ResponseText(this.GetSuccessStr(filename)); } catch (Exception ex) { ReqHelper.ResponseText(this.GetErrorStr(ex.Message)); } }
/// <summary> /// 移动临时文件夹文件,到上传文件的子文件夹 /// 从当前上下文中获取移动的文件名,以及存储的子文件夹 /// </summary> /// <param name="onSuccess"></param> /// <returns></returns> public static string Move(UploadSuccess onSuccess = null) { string filename = ReqHelper.GetString("filename"); string subfolder = ReqHelper.GetString("subfolder"); return Move(filename, subfolder, onSuccess); }
/// <summary> /// 移动临时文件夹文件,到上传文件的子文件夹 /// </summary> /// <param name="filename">文件名</param> /// <param name="subFolder">要移动的子文件夹</param> /// <returns>返回格式"subFolder/filename"</returns> public static string Move(string filename, string subFolder, UploadSuccess onSuccess = null) { UploadFileInfo _fileInfo = new UploadFileInfo(); //1.判断文件是否在临时文件夹存在 if (_fileInfo.ExitsFromTempFile(filename) == false) { throw new Exception("获取临时文件夹中的文件失败,您可以尝试重新上传"); } //2.从临时文件夹中移动到上传文件夹的子文件夹 string newFullName = _fileInfo.GetUploadFiles_Sub(subFolder) + "\\" + filename; if (File.Exists(newFullName)) { File.Delete(newFullName); } //3.移动文件 File.Move(_fileInfo.TempFile + filename, newFullName); //4.移动成功,委托处理 if (onSuccess != null) { onSuccess(); } //返回路径需要反斜杠 return subFolder + "/" + filename; }