Как получить ссылку на изображение на acumatica - PullRequest
0 голосов
/ 23 сентября 2019

Мне было интересно, как получить файл изображения на моем acumatica по коду. Я хочу получить ссылку на изображение нажатием кнопки, которую я пытался

InventoryItem itemnow = (InventoryItem)Base.ItemSettings.Current;

var getimgurl = itemnow.ImageUrl.ToString();

мой текущий код получает только фактическое имя изображения2149821748912.jpg (пример), а не его внешняя ссылка

enter image description here

enter image description here я хочу получить на нем веб-ссылкуа не имя изображения на моей кнопке действия

1 Ответ

0 голосов
/ 23 сентября 2019

Внешняя ссылка - это просто ссылка на /Frames/GetFile.ashx с передачей FileID, как показано ниже:

https://test.acumatica.com/Instance/Frames/GetFile.ashx?fileID=bdb9534c-6aa9-41fa-a65d-3119e32b0fe5

Для создания этой ссылки вам понадобится толькочтобы получить FileID вложения.Приведенный ниже код строит ссылки для всех вложений для текущего Inventory Item.

var currentItem = this.Base.Item.Current;
List<string> links = new List<string>();
if (currentItem!=null)
{
    var fileAttachments = PXNoteAttribute.GetFileNotes(this.Base.Item.Cache, currentItem);
    foreach (Guid fileId in fileAttachments)
    {
        links.Add("SITE_URL/INSTANCE_NAME" + "/Frames/GetFile.ashx?fileID=" + fileId);
    }
}

Пожалуйста, примите во внимание, что /Frames/GetFile.ashx требует авторизации перед доступом к файлу, вы получите форму входаесли вы обращаетесь к нему в режиме инкогнито.

...