Ich verwende den folgenden Code, um ein Bild mit FTP hochzuladen. Ich begegne jedoch einen Fehler in dieser Zeile: < /p>
using (Stream requestStream = request.GetRequestStream())
{
requestStream.Write(fileData, 0, fileData.Length);
}
< /code>
Die Fehlermeldung, die ich erhalte, lautet: < /p>
System.Net.WebException: 'The remote server returned an error: (550) File unavailable (e.g., file not found, no access).'< /code> < /p>
Trotz dieses Fehlers habe ich verifiziert, dass: < /p>
Ich habe vollständige Zugriff auf den FTP -Server. macht den Fehler verwirrend, da er nur während der Implementierung in Code und nicht über den FTP -Client auftritt. Ich bin neu in der FTP-Integration in .NET, daher würde ich mich freuen, warum dieser Fehler auftritt und wie man ihn behebt.protected void btnUpload_Click(object sender, EventArgs e)
{
string uidvalue = Convert.ToString(HttpContext.Current.Session["uidvalue"]);
if (uidvalue == null)
uidvalue = "000";
if (fileUploadImage.HasFile)
{
string fileName = Path.GetFileName(fileUploadImage.FileName);
string fileExtension = Path.GetExtension(fileName).ToLower();
int fileSize = fileUploadImage.PostedFile.ContentLength;
// Validate file type
if (fileExtension != ".jpg" && fileExtension != ".jpeg" && fileExtension != ".png")
{
lblMessage.ForeColor = System.Drawing.Color.Red;
lblMessage.Text = "Only .jpg, .jpeg and .png files are allowed.";
return;
}
// Validate file size ( 2 * 1024 * 1024)
{
lblMessage.Text = "File size must be 2MB or less.";
return;
}
try
{
byte[] fileData = fileUploadImage.FileBytes;
string ftpUrl = "ftp://abc.com/images_c/" + fileName;
string ftpUsername = "imguser";
string ftpPassword = "imguserQ123";
FtpWebRequest request = (FtpWebRequest)WebRequest.Create(ftpUrl);
request.Credentials = new NetworkCredential(ftpUsername, ftpPassword);
request.Method = WebRequestMethods.Ftp.UploadFile;
request.ContentLength = fileData.Length;
request.UseBinary = true;
request.UsePassive = false;
request.EnableSsl = false;
request.KeepAlive = false;
// Error occurs here
using (Stream requestStream = request.GetRequestStream())
{
requestStream.Write(fileData, 0, fileData.Length);
}
using (FtpWebResponse response = (FtpWebResponse)request.GetResponse())
{
lblMessage.ForeColor = System.Drawing.Color.Green;
lblMessage.Text = "Upload successful: " + response.StatusDescription;
}
}
catch (Exception ex)
{
lblMessage.Text = "Error: " + ex.Message;
}
}
else
{
lblMessage.Text = "Please select a file.";
}
}
< /code>
Möchten Sie Vorschläge zum Debuggen oder Behebung der (550) Datei nicht verfügbar < /code> FTP -Fehler? < /p>
So laden Sie ein Bild mit FTP in ASP.NET C# hoch. ⇐ C#
-
- Similar Topics
- Replies
- Views
- Last post
-
-
Wie laden Sie ein Maven -Artefakt in GitHub -Pakete mit der Befehlszeile hoch?
by Anonymous » » in Java - 0 Replies
- 7 Views
-
Last post by Anonymous
-