void executePrivate( ) { /* GeneXus formulas */ /* Output device settings */ AV8TitleSettingsIcons.gxTpr_Default = context.GetImagePath("f0ea40a6-46fe-4550-8d22-c8725d56ffa1", "", context.GetTheme( )); AV8TitleSettingsIcons.gxTpr_Default_gxi = GXDbFile.PathToUrl(context.GetImagePath("f0ea40a6-46fe-4550-8d22-c8725d56ffa1", "", context.GetTheme( ))); AV8TitleSettingsIcons.gxTpr_Filtered = context.GetImagePath("ce341a0a-0f31-4a25-9eef-42f5efaa6079", "", context.GetTheme( )); AV8TitleSettingsIcons.gxTpr_Filtered_gxi = GXDbFile.PathToUrl(context.GetImagePath("ce341a0a-0f31-4a25-9eef-42f5efaa6079", "", context.GetTheme( ))); AV8TitleSettingsIcons.gxTpr_Sortedasc = context.GetImagePath("b9f89e2f-f9e1-4533-b84e-c591709915f9", "", context.GetTheme( )); AV8TitleSettingsIcons.gxTpr_Sortedasc_gxi = GXDbFile.PathToUrl(context.GetImagePath("b9f89e2f-f9e1-4533-b84e-c591709915f9", "", context.GetTheme( ))); AV8TitleSettingsIcons.gxTpr_Sorteddsc = context.GetImagePath("c9603047-0d43-4b43-98f8-9206148120d4", "", context.GetTheme( )); AV8TitleSettingsIcons.gxTpr_Sorteddsc_gxi = GXDbFile.PathToUrl(context.GetImagePath("c9603047-0d43-4b43-98f8-9206148120d4", "", context.GetTheme( ))); AV8TitleSettingsIcons.gxTpr_Filteredsortedasc = context.GetImagePath("7b3284fc-09e7-4c35-96bd-8fccfd2b522d", "", context.GetTheme( )); AV8TitleSettingsIcons.gxTpr_Filteredsortedasc_gxi = GXDbFile.PathToUrl(context.GetImagePath("7b3284fc-09e7-4c35-96bd-8fccfd2b522d", "", context.GetTheme( ))); AV8TitleSettingsIcons.gxTpr_Filteredsorteddsc = context.GetImagePath("19f029d8-5fce-4990-9535-7c32f49223c6", "", context.GetTheme( )); AV8TitleSettingsIcons.gxTpr_Filteredsorteddsc_gxi = GXDbFile.PathToUrl(context.GetImagePath("19f029d8-5fce-4990-9535-7c32f49223c6", "", context.GetTheme( ))); AV8TitleSettingsIcons.gxTpr_Optionsortasc = context.GetImagePath("b920b64e-9041-4c94-974e-ad70cf42c1da", "", context.GetTheme( )); AV8TitleSettingsIcons.gxTpr_Optionsortasc_gxi = GXDbFile.PathToUrl(context.GetImagePath("b920b64e-9041-4c94-974e-ad70cf42c1da", "", context.GetTheme( ))); AV8TitleSettingsIcons.gxTpr_Optionsortdsc = context.GetImagePath("27f019e7-1f73-4773-b022-0eb1e5e9a385", "", context.GetTheme( )); AV8TitleSettingsIcons.gxTpr_Optionsortdsc_gxi = GXDbFile.PathToUrl(context.GetImagePath("27f019e7-1f73-4773-b022-0eb1e5e9a385", "", context.GetTheme( ))); AV8TitleSettingsIcons.gxTpr_Optionapplyfilter = context.GetImagePath("2a5ebedb-95a8-4fbf-87e7-fc52aa72bcc3", "", context.GetTheme( )); AV8TitleSettingsIcons.gxTpr_Optionapplyfilter_gxi = GXDbFile.PathToUrl(context.GetImagePath("2a5ebedb-95a8-4fbf-87e7-fc52aa72bcc3", "", context.GetTheme( ))); AV8TitleSettingsIcons.gxTpr_Optionfilteringdata = context.GetImagePath("d868f625-eb2f-4cc0-b58e-9552f1c1e328", "", context.GetTheme( )); AV8TitleSettingsIcons.gxTpr_Optionfilteringdata_gxi = GXDbFile.PathToUrl(context.GetImagePath("d868f625-eb2f-4cc0-b58e-9552f1c1e328", "", context.GetTheme( ))); AV8TitleSettingsIcons.gxTpr_Optioncleanfilters = context.GetImagePath("d2b56e65-7d48-43f5-a171-32b75f312b3d", "", context.GetTheme( )); AV8TitleSettingsIcons.gxTpr_Optioncleanfilters_gxi = GXDbFile.PathToUrl(context.GetImagePath("d2b56e65-7d48-43f5-a171-32b75f312b3d", "", context.GetTheme( ))); AV8TitleSettingsIcons.gxTpr_Selectedoption = context.GetImagePath("922743b5-f093-4e77-b66c-6cd883017bf6", "", context.GetTheme( )); AV8TitleSettingsIcons.gxTpr_Selectedoption_gxi = GXDbFile.PathToUrl(context.GetImagePath("922743b5-f093-4e77-b66c-6cd883017bf6", "", context.GetTheme( ))); AV8TitleSettingsIcons.gxTpr_Multiseloption = context.GetImagePath("57e1409a-dafd-45c5-b823-eac09df3c4ba", "", context.GetTheme( )); AV8TitleSettingsIcons.gxTpr_Multiseloption_gxi = GXDbFile.PathToUrl(context.GetImagePath("57e1409a-dafd-45c5-b823-eac09df3c4ba", "", context.GetTheme( ))); AV8TitleSettingsIcons.gxTpr_Multiselseloption = context.GetImagePath("00c94341-3cc8-4323-9500-fd340ead11b8", "", context.GetTheme( )); AV8TitleSettingsIcons.gxTpr_Multiselseloption_gxi = GXDbFile.PathToUrl(context.GetImagePath("00c94341-3cc8-4323-9500-fd340ead11b8", "", context.GetTheme( ))); this.cleanup(); }
public string getMultimediaFile(int id, string gxdbFileUri) { if (!GXDbFile.IsFileExternal(gxdbFileUri)) { string fileName = GXDbFile.GetFileNameFromUri(gxdbFileUri); if (!String.IsNullOrEmpty(fileName)) { string filePath = Path.Combine(_gxDbCommand.Conn.MultimediaPath, fileName); try { GxFile file = new GxFile(string.Empty, filePath, GxFileType.PublicAttribute); if (file.Exists()) { return(file.GetURI()); } else { return(getBLOBFile(id, FileUtil.GetFileType(gxdbFileUri), FileUtil.GetFileName(gxdbFileUri), filePath, false, GxFileType.PublicAttribute)); } } catch (ArgumentException) { return(""); } } } return(""); }
protected void E11AI2( ) { /* Start Routine */ AV7url = "http://192.168.11.147:8000/datamanager/BR_SDUploadImage.aspx?25004,#medicalImage"; AV7url = new Sdtcode(context).qr(AV7url); AV8code = AV7url; context.httpAjaxContext.ajax_rsp_assign_prop("", false, imgavCode_Internalname, "Bitmap", (String.IsNullOrEmpty(StringUtil.RTrim(AV8code)) ? AV11Code_GXI : context.convertURL(context.PathToRelativeUrl(AV8code))), true); context.httpAjaxContext.ajax_rsp_assign_prop("", false, imgavCode_Internalname, "SrcSet", context.GetImageSrcSet(AV8code), true); AV11Code_GXI = GXDbFile.PathToUrl(AV7url); context.httpAjaxContext.ajax_rsp_assign_prop("", false, imgavCode_Internalname, "Bitmap", (String.IsNullOrEmpty(StringUtil.RTrim(AV8code)) ? AV11Code_GXI : context.convertURL(context.PathToRelativeUrl(AV8code))), true); context.httpAjaxContext.ajax_rsp_assign_prop("", false, imgavCode_Internalname, "SrcSet", context.GetImageSrcSet(AV8code), true); }
//Insert image from local file in web transacion, storage enabled, image_gxi = myimage.jpg, image = http://amazon...s3./PrivateTempStorage/myimage.jpg (after a getMultimediaValue(imgTransaction003Image_Internalname, ref A175TransactionImage, ref A40000TransactionImage_GXI); //Update image from dataprovider (KB image object), storage enabled, image_gxi = "file:///C:/Models/Cahttea/Data017/web/Resources/Carmine/myimage.png", image: ".\\Resources/Carmine/myimage.png" //Insert KB image from Dataprovider in dynamic transaction image_gxi vacio, image= .\Resources\myimage.png, //Second execution of Dataprovider that updates images, CategoryImage = calendar.Link(), image_gxi=https://chatteatest.s3.amazonaws.com/TestPGXReleased/Category/CategoryImage/calendar_dc0ca2d9335a484cbdc2d21fc7568af7.png, copy falla, multimediaUri = image_gxi; #pragma warning disable SCS0018 // Path traversal: injection possible in {1} argument passed to '{0}' public void SetParameterMultimedia(int id, string image_gxi, string image, string tableName, string fieldName) { bool storageServiceEnabled = !string.IsNullOrEmpty(tableName) && !string.IsNullOrEmpty(fieldName) && (GXServices.Instance != null && GXServices.Instance.Get(GXServices.STORAGE_SERVICE) != null); if (GxRestUtil.IsUpload(image)) { image = GxRestUtil.UploadPath(image); } if (GxRestUtil.IsUpload(image_gxi)) { image_gxi = GxRestUtil.UploadPath(image_gxi); } if (String.IsNullOrEmpty(image)) { _gxDbCommand.SetParameter(id - 1, image_gxi); } else { string multimediaUri = string.Empty; if (storageServiceEnabled) { //image_gxi not empty => process image_gxi if (!String.IsNullOrEmpty(image_gxi)) { if (PathUtil.IsAbsoluteUrl(image_gxi)) //http://, https://, ftp:// { string objectName; //file is already on the cloud p.e. https://s3.amazonaws.com/Test/PublicTempStorage/multimedia/Image_ad013b5b050c4bf199f544b5561d9b92.png //Must be copied to https://s3.amazonaws.com/Test/TableName/FieldName/Image_ad013b5b050c4bf199f544b5561d9b92.png if (ServiceFactory.GetExternalProvider().GetObjectNameFromURL(image_gxi, out objectName)) { try { multimediaUri = ServiceFactory.GetExternalProvider().Copy(image_gxi, GXDbFile.GenerateUri(image_gxi, !GXDbFile.HasToken(image_gxi), false), tableName, fieldName, GxFileType.PublicAttribute); GXLogging.Debug(log, "Copy file already in ExternalProvider:", multimediaUri); } catch (Exception ex) { multimediaUri = image_gxi; //it is trying to copy an object to itself without changing the object's metadata GXLogging.Warn(log, ex, "Copy file to itself filed in ExternalProvider:", image_gxi); } } else //image_gxi url is in another cloud { try { using (var fileStream = new MemoryStream(new WebClient().DownloadData(image_gxi))) { //Cannot pass Http Stream directly, because some Providers (AWS S3) does not support Http Stream. multimediaUri = ServiceFactory.GetExternalProvider().Save(fileStream, GXDbFile.GenerateUri(image_gxi, !GXDbFile.HasToken(image_gxi), false), tableName, fieldName, GxFileType.Public); GXLogging.Debug(log, "Upload external file to ExternalProvider:", multimediaUri); } } catch (WebException) { multimediaUri = image_gxi; } } } else { Uri uri; string fileFullName = string.Empty; if (Uri.TryCreate(image_gxi, UriKind.Absolute, out uri)) //file:// { fileFullName = uri.AbsolutePath; Stream fileStream = new FileStream(fileFullName, FileMode.Open, FileAccess.Read); String fileName = PathUtil.GetValidFileName(fileFullName, "_"); using (fileStream) { multimediaUri = ServiceFactory.GetExternalProvider().Save(fileStream, GXDbFile.GenerateUri(fileName, !GXDbFile.HasToken(fileName), false), tableName, fieldName, GxFileType.Public); GXLogging.Debug(log, "Upload file (_gxi) to ExternalProvider:", multimediaUri); } } else //relative image name=> Assume it is a local file on the cloud, because storageService is Enabled. { try { multimediaUri = ServiceFactory.GetExternalProvider().Copy(image, GXDbFile.GenerateUri(image_gxi, !GXDbFile.HasToken(image_gxi), false), tableName, fieldName, GxFileType.Public); GXLogging.Debug(log, "Copy external file in ExternalProvider:", multimediaUri); } catch (Exception e) { GXLogging.Warn(log, e, "Could not copy external file in ExternalProvider:", image); //If Image is not in Cloud Storage, then we look if we can find it in the hard drive. This is the case for Relative paths using Image.FromImage() //If file is not available, exception must be thrown multimediaUri = PushToExternalProvider(new FileStream(image, FileMode.Open, FileAccess.Read), GXDbFile.GenerateUri(image_gxi, !GXDbFile.HasToken(image_gxi), false), tableName, fieldName); GXLogging.Debug(log, "Upload file to ExternalProvider:", multimediaUri); } } } } //image_gxi is empty => process image else if (!String.IsNullOrEmpty(image)) { var fileName = PathUtil.GetValidFileName(image, "_"); try { Stream fileStream; if (!PathUtil.IsAbsoluteUrl(image)) //Assume it is a local file { image = Path.Combine(GxContext.StaticPhysicalPath(), image); fileStream = new FileStream(image, FileMode.Open, FileAccess.Read); } else { WebClient c = new WebClient(); fileStream = new MemoryStream(c.DownloadData(image)); //Cannot pass Http Stream directly, because some Providers (AWS S3) does not support Http Stream. } string externalFileName = GXDbFile.GenerateUri(fileName, !GXDbFile.HasToken(fileName), false); multimediaUri = PushToExternalProvider(fileStream, externalFileName, tableName, fieldName); } catch (WebException) //403 forbidden, parm = url in external provider that has been deleted { multimediaUri = image_gxi; } } } //image_gxi not empty => process image_gxi else if (!String.IsNullOrEmpty(image_gxi)) { multimediaUri = GXDbFile.GenerateUri(PathUtil.GetValidFileName(image_gxi, "_"), !GXDbFile.HasToken(image_gxi), true); } //image_gxi is empty => process image else if (!String.IsNullOrEmpty(image)) { multimediaUri = GXDbFile.GenerateUri(PathUtil.GetValidFileName(image, "_"), !GXDbFile.HasToken(image), true); } _gxDbCommand.SetParameter(id - 1, multimediaUri); } }
public string getMultimediaUri(int id, bool absUrl) { return(GXDbFile.ResolveUri(getVarchar(id), absUrl, _gxDbCommand.Conn.DataStore.Context)); }