Для меня следующая работа с кодом
$(function () {
debugger;
document.getElementById("FormId").addEventListener("submit", function (e) {
debugger;
if (ValidDateFrom()) { // Check Validation
var form = e.target;
if (form.getAttribute("enctype") === "multipart/form-data") {
debugger;
if (form.dataset.ajax) {
e.preventDefault();
e.stopImmediatePropagation();
var xhr = new XMLHttpRequest();
xhr.open(form.method, form.action);
xhr.onreadystatechange = function (result) {
debugger;
if (xhr.readyState == 4 && xhr.status == 200) {
debugger;
var responseData = JSON.parse(xhr.responseText);
SuccessMethod(responseData); // Redirect to your Success method
}
};
xhr.send(new FormData(form));
}
}
}
}, true);
});
В вашем методе отправки сообщения передайте параметр как HttpPostedFileBase UploadFile и убедитесь, что ваш входной файл совпадает с указанным в вашем параметре метода действий. Он также должен работать с формой AJAX Begin.
Запомните здесь, что ваша форма AJAX BEGIN не будет работать здесь, поскольку вы делаете свой пост-вызов определенным в коде, упомянутом выше, и вы можете ссылаться на свой метод в коде в соответствии с требованиями
Я знаю, что я отвечаю поздно, но это то, что сработало для меня
Другой вариант - использовать ниже фрагмент кода создания фигуры, а затем сначала нарисовать контур, а затем заполнить его:
Graphics2D g2d = (Graphics2D)g;
AffineTransform transform = g2d.getTransform();
transform.translate(x, y);
g2d.transform(transform);
g2d.setColor(Color.black);
FontRenderContext frc = g2d.getFontRenderContext();
TextLayout tl = new TextLayout(text, g.getFont().deriveFont(45F), frc);
Shape shape = tl.getOutline(null);
g2d.setStroke(new BasicStroke(5f));
g2d.draw(shape);
g2d.setColor(Color.white);
g2d.fill(shape);
Выход: