This is a viewer only at the moment see the article on how this works.
To update the preview hit Ctrl-Alt-R (or ⌘-Alt-R on Mac) or Enter to refresh. The Save icon lets you save the markdown file to disk
This is a preview from the server running through my markdig pipeline
Download αρχείο
Sunday, 29 February 2004
ASP.NET έχει ένα πρόβλημα με λήψεις αρχείωνΜSK1 ειδικά αν χρησιμοποιείτε Response.WriteFileM SK3fileNameMK4 ολόκληρο το αρχείο αποθηκεύεται στη μνήμη πριν ' κατεβάσει ΜSK1 αυτό δεν είναι καλό για κλίμακα. Για να πάρετε το γύρο που προβληματίζειΜSK1 εδώ'ει κάποιο κωδικό που θα μπορούσε να χρησιμοποιηθεί για τα αρχεία download - φαίνεται το αρχείο λήψη, μόνο κατεβάζοντας κομμάτια σε μια στιγμήM SK2 Επίσης ελέγχει ότι ο πελάτης συνδέεται πριν από την αποστολή του επόμενου chunk...
private void DownloadFile(Guid itemId)
{
//Where to start in the file
long startPos = 0;
//How big a chunk to download in each iteration
long chunkSize = 20480;
//Use the id to retreive the resource files details
using(SqlDataReader reader=SqlExtra.ExecuteReader("GetResource", itemId))
{
try
{
if(reader.Read())
{
//Get the file details we need to save a copy to the client
string fileExtension=reader["FileTypeExtension"].ToString();
string fileNameClient=reader["FileName"].ToString();
string fileNameServer=Server.MapPath(string.Format(@"Uploads/{0}{1}", itemId.ToString(), fileExtension));
FileInfo file=new FileInfo(fileNameServer);
//Only proceed with the download if the file physically exists
if (file.Exists)
{
//Setup the Response object to allow file downloads
Response.Clear();
Response.ContentType = "application/octet-stream";
//Attach the file to the response stream.
Response.AddHeader("Content-Disposition", string.Format("{0}{1}", "attachment; filename=", fileNameClient));
Response.AddHeader("Content-Length",file.Length.ToString());
long fileSize = file.Length;
try
{
while(startPos < file.Length)
{
if(Response.IsClientConnected)
{
//write the file to the client
if(startPos + chunkSize > fileSize)
{
chunkSize = fileSize - startPos;
}
Response.WriteFile(fileNameServer,startPos,chunkSize);
Response.Flush();
startPos += chunkSize;
}
else
{
break;
}
}
}
catch(Exception ex)
{
ExceptionManager.Publish(ex);
}
Response.End();
}
else
{
//display an error message
StatusMessage.Text=fileNameClient;
}
}
}
catch(Exception ex)
{
if(ex.GetType() != typeof(System.Threading.ThreadAbortException))
{
ExceptionManager.Publish(ex);
}
}
}
}
Ελπίζω να το βρείτε χρήσιμο... συγνώμη για τη διαμόρφωσηΜSK1seems αυτή η σελίδα δεν είναι't πολύ ευέλικτο...hmmΜSK1