Bir görüntü yüklemek için iframe kullanıyorum. Yani iki dosyam var - iframe dosyası ve görüntüyü gösterecek dosya. iframe görüntülemek için bağlantı tıklandığında bu kod çalıştırılır: iframe üzerindeiframe'den FileHiddenName bulamıyor
function ShowUploadImageOut(RecordID) {
$('#<%=hfPieceID.ClientID %>').val(RecordID);
$("#dvAddImageOutturn").html(
'<iframe id="iframeUpload" src="utilities/UploadPOD.aspx?id=uploadOutturn"></iframe>'
);
}
bilgisayardaki bir klasöre görüntüyü kaydeder ve FileNameHidden
protected void btnUpload_Click(object sender, EventArgs e)
{
if (fuUpload.HasFile)
{
if (Request.QueryString["id"] == "uploadOutturn")
{
String Path = ConfigurationManager.AppSettings["PieceOutturnFolder"].ToString()
+ Company.Current.CompCode;
string FileName = fuUpload.FileName;
if (File.Exists(Path + "/" + FileName))
{
File.Delete(Path + "/" + FileName);
}
fuUpload.SaveAs(Path + "/" + FileName);
filename = FileName;
imgTemp.ImageUrl = "/thumbnail.ashx?ImgFilePath=" + Path.Replace("/", "\\")
+ "\\" + FileName + @"&width=200&height=400";
FileNameHidden.Value = FileName;
}
}
}
görüntü dosya adını ayarlar bir yükleme düğmesi Geri th görüntülemek için sayfadaki
<input type="hidden" id="FileNameHidden" runat="server" clientidmode="Static" />
:
FileNameHidden
özelliği clientidmode
seti "static"
zorundadır e görüntüde bir kayıt düğmesi var. Bu düğme FileNameHidden
değerini alır ve onu gizli bir alana ayarlar. Bu yeni gizli alan veritabanına dosya adını kaydetmek için kullanılır:
<asp:HiddenField ID="hfUploadedPieceHubImageFile" runat="server" />
<div id="dvAddEditImageOutturn" class="dvdraggable">
<div id="dvAddImageOutturn"></div>
<asp:LinkButton ID="btnPieceHubUpdateImage"
onclick="btnUpdatePieceImage_Click"
OnClientClick="CloseUploadWindow();return GetPieceOutturnFilename();"
CssClass="btnSaveSmall"
runat="server"
></asp:LinkButton>
</div>
function GetPieceOutturnFilename() {
if ($('#iframeUpload').contents().find('#FileNameHidden').length > 0) {
$("#<%= hfUploadedPieceHubImageFile.ClientID %>").val(
$('#iframeUpload').contents().find('#FileNameHidden').val()
);
}
return true;
}
sorun GetPieceOutturnfile
işlevi bulunmaktadır. $('#iframeUpload').contents().find('#FileNameHidden').length
her zaman sıfırdır. Iframe'den FileNameHidden
'u bulmalı. o uzunluk ben çalışmak var sıfır
ok GetPieceOutturnFileName işlevini kodunuza düzenlemeyi denedim ancak "$ (" # iframeUpload ") içine girmiyor. load (function() {' yani iframe'yi bulamadığı anlamına mı geliyor? değiştir işlevimi – user123456789
sorusuna yaptım Yük işlevi temel örneğimdi. Yüklü dosyaName, boş bırakıldı çünkü iframe içeriği hazır olduğunda yüklenmeye devam ediyordu. Uygulama, sorgunuzdaki rasgele kod parçacıklarına bakarak çalışır. Uygulamanızın temel bir sürümüne bağlantı sağlayabilseydiniz, bu sayede sorununuzu tanılamanız çok daha kolay hale gelirdi: –
@ user123456789 Dosyalara baktım .Orada çok fazla var ve gerekli dependansa sahip olmadığından onu çalıştıramadım. Bir sorunla karşılaştığınız sayfanın temel bir html sürümünü oluşturarak senaryonuzu basitleştirmenizi tavsiye ederim. Yalnızca hata ayıklamaya çalıştığınız işlevselliği koruyun. Yukarıdaki cevaba benzer. Çalışmakta olan bir jsfiddle'ta problem yaşanırsa, insanlar sorunu hemen çözeceklerdir. –