Heim  >  Artikel  >  Backend-Entwicklung  >  Lösung des Problems beim Hochladen großer Dateien in Asp.Net

Lösung des Problems beim Hochladen großer Dateien in Asp.Net

高洛峰
高洛峰Original
2016-12-29 16:55:121498Durchsuche

In letzter Zeit gibt es ein Problem im Zusammenhang mit der Verwendung von asp.net für die Upload-Funktion, da asp.net über eine Datei-Upload-Upload-Steuerung verfügt, die Größe der von dieser Steuerung hochgeladenen Datei jedoch begrenzt ist und daher den Bedarf überhaupt nicht decken kann
Baidu hat es überprüft, viele Leute sind auf die Verwirrung gestoßen, die das Hochladen sehr großer Dateien in asp.net mit sich bringt. Ich habe gelegentlich gesucht und festgestellt, dass ein Freund in csdn erwähnt hat, wie diese sehr große Datei auch implementiert wird um den Upload-Prozess sehr großer Dateien zu bewältigen. Also habe ich es heruntergeladen und einen Blick darauf geworfen, und der Effekt war tatsächlich gut. Es unterstützt nicht nur schnelle Datei-Uploads von mehr als 700 MB, sondern, was noch wichtiger ist, es unterstützt Multithread-Datei-Uploads.
Beim Betrachten des Quellcodes stellte ich fest, dass das verwendete Steuerelement auch das Datei-Upload-Steuerelement ist, der Verarbeitungsprozess jedoch von RadUpload.Net2.dll übernommen wird.
Nach dem Hochladen wird die Datei im Upload-Ordner unter bin gespeichert und die hochgeladene Datei kann umbenannt werden.

1. Erstellen Sie eine ASPX-Seite.
2. Erstellen Sie e617303961ba735775f26cbdb39ca32c.
3. Erstellen Siec2f377b9b5b6fec8597d99238849bcae
4. Rufen Sie die dynamische Bibliotheksverarbeitung von net2.dll auf Code-Prozess.
5. Wenn Sie mehrere Upload-Dateien erstellen, können Sie ein paar weitere e617303961ba735775f26cbdb39ca32c schreiben.
6. Klicken Sie abschließend auf die Schaltfläche „Hochladen“, um die Verarbeitung auszuführen.
Der spezifische Prozess ist wie folgt

 foreach (UploadedFile file in RadUploadContext.Current.UploadedFiles)
            {
                string Path = Server.MapPath(@"~/Uploads");
                //如果路径不存在,则创建
                if (System.IO.Directory.Exists(Path) == false)
                {
                    System.IO.Directory.CreateDirectory(Path);
                }
                //组合路径,file.GetName()取得文件名
                string oldfilename = file.GetName().ToString();
                //如果对上传后的文件进行重新命名,根据guid进行命名,则放开下面二行代码
                //string fileType = oldfilename.Substring(oldfilename.LastIndexOf("."));
                //string newfilename = Guid.NewGuid().ToString("N") + fileType;
                //Path = Path + "/" + file.GetName().ToString();
                Path = Path + "/" + oldfilename;
                //保存
                file.SaveAs(Path, true);
                string newurl = @"~/Uploads/" + oldfilename;              
            }


Weitere Artikel zum Lösen von Asp.Net-Problemen beim Hochladen übergroßer Dateien finden Sie auf der chinesischen PHP-Website!


Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn