jQuery를 사용하여 동적으로 이미지의 소스를 변경하려고합니다. 여기에 우리가 전에 무엇을하고 있는지의 예jquery와 FileResult를 사용하여 이미지의 src를 변경하십시오.
imageSrc
변수가 이미지의 실제 위치를 저장 한
$('#resultsDiv').on('mouseover', '.cardImage', function() {
var imageSrc = $(this).attr("data-id");
imageSrc = imageSrc.replace("~", "");
$('#cardImageDiv').attr('src', imageSrc);
});
; 그러나 우리는 더 이상 서버의 이미지의 실제 위치에 액세스 할 수 없으므로이를 변경해야합니다. 그래서 우리는 데이터베이스에 우리의 이미지를 저장 한 나는이처럼 다시 얻으려고 :
$('#resultsDiv').on('mouseover', '.cardImage', function() {
var cardID = $(this).attr("data-id");
alert("woah!");
alert(cardID);
$.ajax({
type: "GET",
url: '@Url.Action("UpdateImageByCardID","Images")',
data: {_cardid: cardID},
datatype: "image/png",
success: function (data) {
alert("yeah!");
$('#cardImageDiv').attr('src', data);
}
});
});
cardId
이미지의 고유 식별자입니다. 여기에 Images
컨트롤러 조치는 다음과 같습니다
public FileResult UpdateImageByCardID(int? _cardid)
{
byte[] imageData = mImageManager.GetNormalImageAsyncByCardId((int)_cardid);
return File(imageData, "image/png");
}
는 지금은 작업이 디버깅에 명중하고 올바른
byte[]
값, 그러나 이미지 SRC가 업데이트되지 않습니다 반환 알고있다. 자세한 내용은
은 여기에 첫 번째 이미지가 표시되는 방법은 다음과 같습니다
<img id="cardImageDiv" src="@Url.Action("GetNormalImageByCardIdAsync", "Images", new { @_cardId = firstSrc.CARD_IDE})" alt="@firstSrc.CARD.CARD_NAME" title="@firstSrc.CARD.CARD_NAME" class="nullify"/>
GetNormalImageByCardIdAsync
컨트롤러 작업에 의해 반환 비동기 파일이며 그것의 일을한다. 이제 문제의 원인을 알고 싶습니다. 어떻게 해결할 수 있습니까?
성공 후 경고 메시지가 표시됩니까? – Gjohn
예, 모든 경고가 트리거됩니다. – hsim
파일을 다운로드하고 있으며 경로를 찾는 src에 파일을 적용하고 있습니다. 실제 이미지 대신 이미지의 URL 경로를 제공하면 안됩니까? – Gjohn