Bu dosyayı HttpWebRequest ile birlikte gönderme aşamasındayım. Benim dosyam FileUpload UI'den olacak. Burada, HttpWebRequest ile birlikte akışı göndermek için File Upload'u filestream'e dönüştürmem gerekiyor. FileUpload'u bir filestream'e nasıl dönüştürebilirim?FileUpream için FileUpload
cevap
, bir bayt dizisine dönüştürmek için aşağıdaki kod kullanılır
public static byte[] ReadFully(Stream input)
{
byte[] buffer = new byte[input.Length];
//byte[] buffer = new byte[16 * 1024];
using (MemoryStream ms = new MemoryStream())
{
int read;
while ((read = input.Read(buffer, 0, buffer.Length)) > 0)
{
ms.Write(buffer, 0, read);
}
return ms.ToArray();
}
}
, PostedFile'ın .InputStream .. thanks olduğunu bilmiyordu. – lawphotog
FileUpload'u bir FileStream'e dönüştürebilirsiniz. Ancak, bu FileUpload'ın PostedFile özelliğinden bir MemoryStream alabilirsiniz. Daha sonra HttpWebRequest'inizi doldurmak için bu MemoryStream'i kullanabilirsiniz. FileUpload.PostedFile.InputStream Beni akışı sağlıyor yana
'u kullanarak gönderin. Lütfen ayrıntılı bir şekilde, bir kod örneği veya bağlantı ile detaylandırır mısınız? – PeterX
@PeterX: Örnek için Extremeswank'ın cevabına bakın. – ErikHeemskerk
çıkış akımına doğrudan giriş akımı borusuna daha iyi olabilir:
inputStream.CopyTo(outputStream);
Bu şekilde yeniden iletilmeden önce tüm dosyayı belleğe belleğe almazsınız.
FileUpload fu; // Get the FileUpload object for the current connection here.
HttpWebRequest hr; // Set up your outgoing connection here.
using (Stream s = hr.GetRequestStream())
{
fu.PostedFile.InputStream.CopyTo(s);
s.Flush();
}
daha olacak: That başka bir web isteği doğrudan yazmak isteseydim
FileUpload fu; // Get the FileUpload object.
using (FileStream fs = File.OpenWrite("file.dat"))
{
fu.PostedFile.InputStream.CopyTo(fs);
fs.Flush();
}
, aşağıdakileri yapabilirsiniz: Örneğin, burada bir FileStream bunu yazardı nasıl etkin olarak, giriş dosyasını doğrudan hedef sunucuya aktaracağınız gibi, önce bellekte veya diskte önbelleğe alma olmadan.
PostedFile'a eriştiğinizde, dosya zaten tamamen ASP.NET tarafından arabelleğe alınmıştır. Bu, yalnızca 'HttpRequest.GetBufferlessInputStream() '(.NET 4 veya üstü) kullanılarak engellenebilir, ancak bu da tüm istek gövdesini kendiniz ayrıştırmanızı gerektirir. – ErikHeemskerk
Sen FileBytes
(Tech Jerk konumuna basitleştirilmiş cevap)
using (MemoryStream ms = new MemoryStream(FileUpload1.FileBytes))
{
//do stuff
}
Ya kullanarak bir MemoryStream
doğrudan bir MemoryStream
byte[] bin = FileUpload1.FileBytes;
- 1. ASP.NET FileUpload
- 2. jQuery FileUpload tetiklemiyor 'done'
- 3. fileupload ajax çalışmıyor
- 4. Filtre Dosyası uzantısı FileUpload ile
- 5. FileUpload Contol kaydedilmiş dosyaları göstermiyor
- 6. FileUpload: HasFile her zaman false
- 7. <asp: UpdatePanel ile FileUpload
- 8. FileUpload dosya uzantısına sahip olsun
- 9. Birim nasıl test edilir Asp.net MVC fileUpload
- 10. FileDownload ve FileUpload JSF Primefaces çalışmıyor
- 11. java.lang.NoClassDefFoundError: org/apache/commons/fileupload/FileItemFactory
- 12. GWT - FileUpload iletişim kutusunu kullanmadan dosyaya dosya yükleme
- 13. jQuery fileupload IE 8'de çalışmıyor ve 9
- 14. jasny dosyası için django-crispy-formları yükle
- 15. MVC 5 için web yardımcıları
- 16. Yüklemeyi tamamlamak için beklemeden önce formu doldurun
- 17. Blueimp/Jquery dosya yükleme her dosya için ilerleme çubuğu
- 18. Ajax/JQuery istek çerezleri
- 19. asp.net mvc 4 ile jQuery dosyası yükleme Request.Files.Count her zaman 0
- 20. Ivy'nin SHA1 karşıdan yüklenen .pom dosyalarının denetimini nasıl devre dışı bırakabilirim?
- 21. JQuery Dosya Yükleme'ye otomatik yükleme özelliği nasıl ayarlanır
- 22. Akka HTTP kullanarak dosya yükleme
- 23. Java Http İstemcisi POST üzerinden dosya yüklemek için
- 24. iPhone fotoğraf kitaplığındaki bir resme nasıl göz atabilirim?
- 25. Rails simple_form içinde Jasny'nin bootstrap dosya yükleme stil uzantısı nasıl uygulanır?
- 26. jQuery Dosya Yükleme "Hata - Boş dosya yükleme sonucu" - Raylar Uygulama
- 27. GWT: fileUpload.getFileName() & fakepath
- 28. Ckeditor'da tümleştirme blueimp dosyası yükleme
- 29. Sunucu tarafında dosya yükleme metni nasıl temizlenir (C#)
- 30. Döngü için gelişmiş için döngü için dönüştürme
gerekmiyorsa aslında ne çalıştığınız bir FileUpload dosya koyabilirsiniz başarmak ? –
Dosyayı bir etki alanından diğerine aktarmam gerekiyor. yüklenen dosyayı alın ve HttpWebRequest –