Twitterのブートストラップを使用しています。プロフィール写真を変更しています。写真をフォルダに保存して、もう一度取得しています。ローカル システムでは問題なく動作しますが、コードをサーバーにデプロイした後は動作しません。しかし、画像はフォルダーに保存され、.aspx ページで変更されません。ログアウトして再度ログインすると、更新されます。
これが私のコードです:
<img runat="server" id="ImgPic" />
<input type="file" id="fileUpload" runat="server"/>
<a href="javascript:void(0);" id="lnkChangePic" runat="server" onclick="ChangePicture();">Change</a>
<asp:Button ID="btnChangeUserPic" runat="server" OnClick="btnChangeUserPic_Click"
class="hidden" />
function ChangePicture(){
$('#btnChangeUserPic').click();
}
protected void btnChangeUserPic_Click(object sender, EventArgs e)
{
try
{
string filePath = Server.MapPath("~/Upload/Images/");
if (!Directory.Exists(filePath))
{
Directory.CreateDirectory(filePath);
}
string file = fileUpload.PostedFile.FileName.ToLower();
HttpPostedFile hpfFile = fileUpload.PostedFile;
if (file != "")
{
string fileExtn = Path.GetExtension(hpfFile.FileName).ToLower();
if (fileExtn == ".jpg")
{
string filename = filePath +System.IO.Path.GetFileName(hpfFile.FileName);
if (File.Exists(filename))
{
File.Delete(filename);
}
hpfFile.SaveAs(filename);
ImgPic.src= filename;
}
}
}
catch (Exception ex)
{
}
}
画像はマスター ページでも更新されるはずです。
ご回答いただきありがとうございます。