/// <summary> /// Reset copy command parameter to default value. /// </summary> public void ResetToDefaultValue() { bool bIsMetrice = dll.IsMetricCountry(); m_scaling = 100; m_scanMode = EnumCopyScanMode.Photo; m_nin1 = EnumNin1._1up; m_dpi = EnumCopyResln._300x300; m_mediaType = EnumMediaType.Plain; m_density = 2; chkBtnIDCardCopy.IsChecked = false; spinCtlCopies.Value = 1; if (bIsMetrice) { m_docSize = EnumPaperSizeInput._A4; m_outputSize = EnumPaperSizeOutput._A4; } else { m_docSize = EnumPaperSizeInput._Letter; m_outputSize = EnumPaperSizeOutput._Letter; } }
/// /// <summary> * calculates paper thickness from weight, if and only if weight exists but /// * not thickness /// * </summary> /// * <param name="bLocal"> /// * if true, only evaluate locally set attributes in this /// * partition, else check inherited attributes </param> /// * <param name="bRecurse"> /// * if true, do for all children, grandchildren rtc, else only /// * local </param> /// public virtual void setThicknessFromWeight(bool bLocal, bool bRecurse) { EnumMediaType mT = getMediaType(); if (!EnumMediaType.Paper.Equals(mT)) { return; // only useful for paper } if (bRecurse) { VElement v = getLeaves(true); int size = v.Count; for (int i = 0; i < size; i++) { ((JDFMedia)v[i]).setThicknessFromWeight(bLocal, false); } } else { string w = bLocal ? getAttribute_KElement(AttributeName.WEIGHT) : getAttribute(AttributeName.WEIGHT); if (isWildCard(w)) { return; // no weight to use } string t = bLocal ? getAttribute_KElement(AttributeName.THICKNESS) : getAttribute(AttributeName.THICKNESS); if (!isWildCard(t)) { return; // no weight to use } setThickness(getWeight() * 1.25); // assume average density of 0.8 // g/cm^3 // TODO improve calculation based on grade etc. } }
private void cboMediaType_SelectionChanged(object sender, SelectionChangedEventArgs e) { ComboBoxItem selItem = cboMediaType.SelectedItem as ComboBoxItem; if (null != selItem && null != selItem.DataContext) { m_mediaType = (EnumMediaType)selItem.DataContext; } }
private void btnDefault_Click(object sender, RoutedEventArgs e) { cboDocSize.Items.Clear(); cboResolution.Items.Clear(); cboOutputSize.Items.Clear(); cboMediaType.Items.Clear(); bool bIsMetrice = dll.IsMetricCountry(); spinnerScaling.Value = 100; m_scanMode = EnumCopyScanMode.Photo; if (bIsMetrice) { m_docSize = EnumPaperSizeInput._A4; m_outputSize = EnumPaperSizeOutput._A4; } else { m_docSize = EnumPaperSizeInput._Letter; m_outputSize = EnumPaperSizeOutput._Letter; } //if ( true == m_isIDCardCopy ) // m_outputSize = EnumPaperSizeOutput._A4; m_nin1 = EnumNin1._1up; m_dpi = m_isIDCardCopy ? EnumCopyResln._600x600 : EnumCopyResln._300x300; m_mediaType = EnumMediaType.Plain; m_preNin1 = EnumNin1._2up; InitCboDocSize(); InitCboResolution(); InitCboOutputSize(); InitCboMediaType(); InitNin1(); if (EnumCopyScanMode.Text == m_scanMode) { rdBtnScanModeTxt.IsChecked = true; rdBtnScanModePhoto.IsChecked = false; } else if (EnumCopyScanMode.Photo == m_scanMode) { rdBtnScanModeTxt.IsChecked = false; rdBtnScanModePhoto.IsChecked = true; } chkpopupIDCard.IsChecked = true; chkpopupNIn1.IsChecked = true; }
private static UpLoadInfo WxUpLoad(string filepath, string token, EnumMediaType mt) { using (WebClient client = new WebClient()) { //https://qyapi.weixin.qq.com/cgi-bin/material/add_material?agentid=AGENTID&type=TYPE&access_token=ACCESS_TOKEN byte[] b = client.UploadFile(string.Format("https://qyapi.weixin.qq.com/cgi-bin/material/add_material?agentid=5&access_token={0}&type={1}", token, mt.ToString()), filepath); //调用接口上传文件 //byte[] b = client.UploadFile(string.Format("https://qyapi.weixin.qq.com/cgi-bin/media/upload?access_token={0}&type={1}", token, mt.ToString()), filepath);//调用接口上传文件 string retdata = Encoding.Default.GetString(b); //获取返回值 if (retdata.Contains("media_id")) //判断返回值是否包含media_id,包含则说明上传成功,然后将返回的json字符串转换成json { return(JsonConvert.DeserializeObject <UpLoadInfo>(retdata)); } else {//否则,写错误日志 //WriteBug(retdata);//写错误日志 return(null); } } }
/// <summary> /// 上传临时素材文件 /// </summary> /// <param name="filepath"></param> /// <param name="token"></param> /// <param name="mt"></param> /// <returns></returns> public UploadResponse Upload(string filepath, string token, EnumMediaType mt) { using (WebClient client = new WebClient()) { string retdata = string.Empty; var cacheValue = CacheHelper.GetCache("file" + filepath); if (cacheValue != null) { retdata = CacheHelper.GetCache("file" + filepath).ToString(); } if (string.IsNullOrEmpty(retdata)) { byte[] b = client.UploadFile(string.Format("https://qyapi.weixin.qq.com/cgi-bin/media/upload?access_token={0}&type={1}", token, mt.ToString()), filepath); //调用接口上传文件 retdata = Encoding.Default.GetString(b); //获取返回值 } if (retdata.Contains("40001")) { CacheHelper.RemoveAllCache("file" + filepath); CacheHelper.RemoveAllCache("AccessToken" + str_corpid); //过期移除缓存,这样会重新去请求获取token byte[] b = client.UploadFile(string.Format("https://qyapi.weixin.qq.com/cgi-bin/media/upload?access_token={0}&type={1}", TokenBiz.GetAccessToken(str_corpid, str_corpsecret), mt.ToString()), filepath); //调用接口上传文件 retdata = Encoding.Default.GetString(b); //获取返回值 } if (retdata.Contains("media_id"))//判断返回值是否包含media_id,包含则说明上传成功,然后将返回的json字符串转换成json { CacheHelper.SetCache("file" + filepath, retdata, new TimeSpan(8, 0, 0)); return(JsonConvert.DeserializeObject <UploadResponse>(retdata)); } else { //否则,写错误日志 _SendLog.WriteLog(retdata); return(null); } } }
private void SettingBtnClick(object sender, RoutedEventArgs e) { CopySetting win = new CopySetting(); if (true == chkBtnIDCardCopy.IsChecked) { win.m_isIDCardCopy = true; ResetValueForIDCardCopy(); } win.Owner = m_MainWin; win.spinnerScaling.Value = m_scaling; win.m_scanMode = m_scanMode; win.m_docSize = m_docSize; win.m_outputSize = m_outputSize; win.m_nin1 = m_nin1; win.m_dpi = m_dpi; win.m_mediaType = m_mediaType; win.m_popupDlgIDCardCopy = m_MainWin.m_popupIDCard; win.m_popupDlgNIn1Copy = m_MainWin.m_popupNIn1; if (true == win.ShowDialog()) { m_scaling = (ushort)win.spinnerScaling.Value; m_scanMode = win.m_scanMode; m_docSize = win.m_docSize; m_outputSize = win.m_outputSize; m_nin1 = win.m_nin1; m_dpi = win.m_dpi; m_mediaType = win.m_mediaType; m_MainWin.m_popupIDCard = win.m_popupDlgIDCardCopy; m_MainWin.m_popupNIn1 = win.m_popupDlgNIn1Copy; } }
public async Task <ICollection <String> > UploadMedia(IOptions <UploadOptions> uploadOptions, IOptions <ConnectionOptions> connexionOptions, EnumMediaType key, IFormFileCollection files) { var options = uploadOptions.Value; string directoryPath = null; string keyUrl = null; ICollection <string> allowedExtensions = new List <string>(); if (key == EnumMediaType.Image) { keyUrl = "image"; directoryPath = options.MediaImage; allowedExtensions = options.ExtensionsImage.Split(','); } else if (key == EnumMediaType.Audio) { keyUrl = "audio"; directoryPath = options.MediaAudio; allowedExtensions = options.ExtensionsAudio.Split(','); } if (!Directory.Exists(directoryPath)) { Directory.CreateDirectory(directoryPath); } try { ICollection <string> filenames = new List <string>(); foreach (var file in files) { string filePath = null; string url = null; var fileExt = System.IO.Path.GetExtension(file.FileName).Substring(1); string filename = $"{Guid.NewGuid()}_{file.FileName.Replace(" ", "-")}"; if (allowedExtensions.Any(x => x == fileExt)) { if (file.Length > 0) { filePath = Path.Combine(directoryPath, filename); filePath = filePath.Replace("\\", "/"); using (var fileStream = new FileStream(filePath, FileMode.Create)) { await file.CopyToAsync(fileStream); } url = $"{connexionOptions.Value.Api}/{keyUrl}/{filename}"; filenames.Add(url); } else { throw new Exception("No content"); } } else { throw new Exception("Unreconized media type"); } } return(filenames); } catch (Exception ex) { throw ex; } }
public async Task <Question> UpdateQuestion(Question question, IFormFileCollection files, EnumMediaType mediaType) { ICollection <string> pathFiles = await _uploadService.UploadMedia(_uploadOptions, _connexionOptions, mediaType, files); foreach (var path in pathFiles) { MediaQuestion media = new MediaQuestion(); media.Url = path; media.MediaType = mediaType; question.MediaQuestions.Add(media); } question.Propositions = question.Propositions; await _repository.UpdateQuestion(question); return(question); }