Хорошо, я использовал ответы на этот вопрос в Oracle CRM onDemand, чтобы отключить выбор во всплывающем окне, выполняющем скрипт из родительского окна, и это сработало! (Я не контролирую генерацию всплывающих окон, они открываются каркасом приложения)
Посмотрим, как я это сделал:
Контекст: на подробной странице пользователь может добавьте информацию, щелкнув значок увеличительного стекла >>> открывается новое окно, содержащее форму поиска, но выбор нарушает администратора: если пользователь изменит свое значение по умолчанию, он / она получит доступ к запрещенным записям!
Первый подход: отключить это сейчас!
Попытка: я нашел, что изображение onclick связано с инструментами моего браузера (F12). Был метод openAssocPopup, а затем я знал имя дочернего окна: «OccamPopup1»:)
Хорошо! Итак, давайте сделаем волшебство (выполнено в родительском окне):
blockquote>window.open("","OccamPopup1").document.getElementById("frmSearch.AQ").setAttribute("disabled", true);
Я думаю, это может помочь, так как этот вопрос мне тоже помог. Ты был прав. Теперь я пытаюсь обернуть объект документа ребенка в объект родительского jQuery, чтобы я мог получить доступ к DOM всего дочернего объекта ... но это еще одна история ...
В итоге я использовал SES и SNS для отладки лямбды в реальном времени. Мне буквально пришлось сериализовать объект IFormFile в виде строки и отправить его себе по электронной почте при каждой загрузке изображения. Я также настроил SMS с длиной IFormFile.
На всякий случай это поможет кому-нибудь еще в будущем; дополнительные байты уже были там, как только запрос был обработан. Я имею в виду, что файл размером 29,7 КБ выводил 53000 ~ байтов, поскольку он .Length
был в первый момент выполнения конечной точки, поэтому это не было лямбда-проблемой (хотя, возможно, это была конфигурация нашего API-шлюза или .NET Core). [114 ]
В любом случае, мы исправили это, ожидая строку base64 как свойство application/json
и расшифровав ее следующим образом:
var imageParts = base64Image.Split(',').ToList();
var buffer = Convert.FromBase64String(imageParts[1]);
await memoryStream.WriteAsync(buffer, 0, buffer.Length);
var fileTransferUtilityRequest = new TransferUtilityUploadRequest
{
InputStream = memoryStream,
Key = fileName,
BucketName = s3Config.BucketName,
CannedACL = S3CannedACL.BucketOwnerFullControl,
ContentType = "image/{0}".FormatWith(fileExtension)
};
await fileTransferUtility.UploadAsync(fileTransferUtilityRequest);
Где base64Image - строка в кодировке base64.
В случае, если кто-то окажется в том же месте, где мы были вчера, просто проигнорируйте фактическую причину проблемы и используйте Base64, она может быть не такой производительной, как файл внутри FormBody, но вы обязательно сэкономите время .