Masterpage'de Upload Sayfası Yapmak [Yardım]
-
Merhaba arkadaşlar,
Masterpage bi site yapıyorum ve sayfalardan birisi de dosya upload için kullanacam. Bu sayfada belirtilen dosyanın server'de belli bi klasöre kayıt edilmesini istiyorum fakat beceremedim bir türlü. Bilgisi olan yardım ederse sevinirim.
-
pek tecrübem yok ama fileupload nesnesi var, onu kullanabilirsin
-
Ercab bunu yazdı:
-----------------------------pek tecrübem yok ama fileupload nesnesi var, onu kullanabilirsin
-----------------------------
<%@ Page Language="C#" %>
<script runat="server">
protected void Button1_Click(object sender, EventArgs e)
{
if( ( File1.PostedFile != null ) && ( File1.PostedFile.ContentLength > 0 ) )
{
string fn = System.IO.Path.GetFileName(File1.PostedFile.FileName);
string SaveLocation = Server.MapPath("veri") + "\\" + fn;
try
{
File1.PostedFile.SaveAs(SaveLocation);
Response.Write("The file has been uploaded.");
}
catch ( Exception ex )
{
Response.Write("Error: " + ex.Message);
//Note: Exception.Message returns detailed message that describes the current exception.
//For security reasons, we do not recommend you return Exception.Message to end users in
//production environments. It would be better just to put a generic error message.
}
}
else
{
Response.Write("Please select a file to upload.");
}
}
</script>
<html xmlns="http://www.w3.org/1999/xhtml" >
<head runat="server">
<title>Upload Files</title>
</head>
<body>
<form id="form1" runat="server">
<div>
<asp:FileUpload ID="File1" runat="server" /><br />
<br />
<asp:Button ID="Button1" runat="server" OnClick="Button1_Click"
Text="Upload File" /> <br />
<br />
<asp:Label ID="Label1" runat="server"></asp:Label></div>
</form>
</body>
</html>Kodlar bu şekilde hocam. Hata mesajı da:
Error: 'X' yolunun bir parçası bulunamadı.
bu şekilde
-
//string SaveLocation = Server.MapPath("veri")
bu satırdaki "veri"
klasörün adımı ?
eğer klasörün adıysa ve masterpage ile aynı dizindeyse
//string SaveLocation = Server.MapPath("./veri")
olarak değiştir.
masterpagen bir alt dizindeyse ve "veri" üst dizindeyse
//string SaveLocation = Server.MapPath("../veri")
olarak değiştir
hatayı net anlamak adına
//File1.PostedFile.SaveAs(SaveLocation);
satırını deaktif et ve
//Response.Write(SaveLocation);
ile ekrana tam pathi yazdır.
o pathi kontrol et bakalım gerçekten serverda varmı.
en son ihtimal. hangi user ile yazıyorsun ?
o dizinde o userin yetkisi varmı ?
eğer user problemiyse ve localde deneme yapıyorsan klasöre "evryone" ye full yetki ver.
server da ise biraz ayrıntılı ayar lazım.
bi bak haber ver:)
-
Hocam izinlerle ilgili bi problemdi sanırım ve dediğin gibi yol ile ilgili bi sorun vardı uğraşa uğraşa düzelttim. Tam da buraya sorunu çözdüm yazmaya gelmiştim cevabını gördüm. Yine de teşekkürler yardım için :)