public async Task <IActionResult> SaveAndUpdate(CustomerMediaVoiceDto input)
        {
            CustomerMediaVoiceDto result = null;

            input.LastModificationTime = DateTime.Now;
            if (Request.Form.Files.Count > 0)
            {
                var    profilePictureFile = Request.Form.Files.First();
                byte[] fileBytes;
                using (var stream = profilePictureFile.OpenReadStream())
                {
                    fileBytes = stream.GetAllBytes();
                }
                var    fileInfo = new FileInfo(profilePictureFile.FileName);
                var    extra    = fileInfo.Extension.Substring(fileInfo.Extension.IndexOf(".") + 1);
                string fileUrl  = await _fileServer.UploadFile(fileBytes, extra, MpMessageType.voice.ToString());

                input.FilePathOrUrl = fileUrl;
                var filename = fileUrl.Substring(fileUrl.LastIndexOf("/") + 1);

                input.MediaID = await _wxMediaUpload.UploadAndGetMediaID(input.MpID, fileUrl, MpMessageType.voice);

                if (string.IsNullOrWhiteSpace(input.MediaID))
                {
                    throw new UserFriendlyException("对不起,请检查您提交的音频文件的时长。");
                }
            }
            if (input.Id == 0)
            {
                result = await _CustomerMediaVoiceAppService.Create(input);
            }
            else
            {
                result = await _CustomerMediaVoiceAppService.Update(input);
            }
            return(Json(result));
        }
Example #2
0
 public CreateOrEditCustomerMediaVoiceViewModel(CustomerMediaVoiceDto output)
 {
     output.MapTo(this);
 }