Jag försöker göra en sida där man kan ladda upp filer till servern. Din rad: Jag fösökte med : Sorry, jag läste din kod slarvigt, det Server.MapPath() gör är samma sak som Request.PhysicalApplicationPath. Jag såg inte att du byggde ihop savePath. Jag har fortfarande inte fixat det här med att ladda filer i en mapp vars namn jag inte kan skriva direkt i koden. Mappens namn får jag från min TextBox1.text. äntligen klar med det här:upload files
Sidan har bl.a. två textrutor, en "Textbox" och en "FileUpload".
I "Textboxen" ska man namnge mappen/katalogen där filen ska sparas.
Jag har problem med att skriva den rätta sökvägen till mappen.
Är det någon som kan hjälpa mig med det??
Här kommer min kod:
<%@ Page Language="C#" %>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<script runat="server">
protected void UploadButton_Click(object sender, EventArgs e)
{
// Save the uploaded file to an "Uploads" directory
string saveDir = @"\Uploads\Textbox1.Text\"; ///**VAD SKRIVA HÄR???**///
// Get the physical file system path for the currently executing application.
string appPath = Request.PhysicalApplicationPath;
// Before attempting to save the file, verify that the FileUpload control contains a file.
if (FileUpload1.HasFile)
{
string savePath = appPath + saveDir +
Server.HtmlEncode(FileUpload1.FileName);
FileUpload1.SaveAs(savePath);
UploadStatusLabel.Text = "Your file was uploaded successfully.";
}
else
{
UploadStatusLabel.Text = "You did not specify a file to upload.";
}
}
</script>
<html >
<head id="Head1" runat="server">
<title>FileUpload Class Example</title>
</head>
<body>
<h3>FileUpload Class Example: Save To Application Directory</h3>
<form id="form1" runat="server">
<div>
<h4>Select a file to upload:</h4>
<asp:Label ID="Label1" runat="server" Text="ISBN:"></asp:Label>
<asp:Textbox id="Textbox1"
runat="server">
</asp:Textbox>
<br/><br/>
<asp:FileUpload id="FileUpload1"
runat="server">
</asp:FileUpload>
<br/><br/>
<asp:Button id="UploadButton"
Text="Upload file"
OnClick="UploadButton_Click"
runat="server">
</asp:Button>
<hr />
<asp:Label id="UploadStatusLabel"
runat="server">
</asp:Label>
</div>
</form>
</body>
</html>
Sv: upload files
// Save the uploaded file to an "Uploads" directory
string saveDir = @"\Uploads\Textbox1.Text\"; ///**VAD SKRIVA HÄR???**///
Skulle väl kunna vara:
// Save the uploaded file to an "Uploads" directory
string saveDir = Server.Mappath("\" + Textbox1.Text);
dvs där den aktuella sidan ligger + det som står i textboxen. Kommer inte ihåg om "\" behövs men testa gärna.
Sv:upload files
string saveDir = Server.MapPath(Textbox1.Text);
och får följande fel meddelande:
The given path's format is not supported.
Det låser sig vid raden:
FileUpload1.SaveAs(savePath);
vet inte hur jag ska komma åt det som står i min "textbox" som Server.MapPath accepterar...Sv: upload files
Sv:upload files
Är det någon som vet om det överhuvudtaget är möjligt??
Jag vill spara textfiler på servern. Sökvägen till filerna kommer finnas i en databas.
Just nu har jag alla filer i en och samma mapp typ:
Dim fs = Server.CreateObject("Scripting.FileSystemObject")
Dim f = fs.CreateFolder("\MINMAPP")
Men det blir inte bra eftersom vissa filer har samma namn men kommer från olika ”källor”.
Därför skulle jag vilja skapa en mapp på servern men ”källans” namn. OBS! Jag kan inte källornas namn i förväg utan först när jag har textfilen hemma.
Finns det någon som kan hjälpa mig med det här? Går det å programmera så som jag vill eller måste jag ha alla filer i en och samma mapp?
Ps. Jag har fått tips och några har varit i VB andra C#. För min del spelar det ingen roll vilket språk man använder bara det funkar.... Sv: upload files
Dim fs = Server.CreateObject("Scripting.FileSystemObject")
Dim dinvariabel = Server.MapPath(Request.Form("CreateFolder"))
' Kollar om mappen redan finns
If My.Computer.FileSystem.DirectoryExists(dinvariabel) = False Then
fs.CreateFolder(dinvariabel)
End If
' spara filen i angivna mappen på servern
UploadFile.PostedFile.SaveAs(Server.MapPath(Request.Form("CreateFolder")) & "\" & FileName)