HttpWebRequest와 함께 파일을 보내는 중입니다. 내 파일은 FileUpload UI에서 가져옵니다. 여기에 파일 업로드를 HttpWebRequest와 함께 스트림을 보내려면 파일 스트림으로 변환해야합니다. FileUpload를 파일 스트림으로 변환하려면 어떻게해야합니까?FileUpload to FileStream
답변
는 I 바이트 어레이로 변환하도록 다음 코드를 사용
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은 .InputStream .. 감사합니다. – lawphotog
FileUpload를 FileStream으로 변환 할 수 없습니다. 그러나 FileUpload의 PostedFile 속성에서 MemoryStream을 가져올 수 있습니다. 그런 다음 MemoryStream을 사용하여 HttpWebRequest를 채울 수 있습니다. FileUpload.PostedFile.InputStream 나 스트리밍 제공하기 때문에
코드 예제 나 링크로 자세히 설명해 주시겠습니까? – PeterX
@PeterX : 예를 들어 Extremeswank의 답변을 참조하십시오. – ErikHeemskerk
출력 스트림에 직접 입력 스트림 파이프 나은 결과 :
inputStream.CopyTo(outputStream);
이렇게하면 다시 전송하기 전에 전체 파일을 메모리에 캐싱하지 않습니다.
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();
}
하는 것이 더 될 것이라고 : 다른 웹 요청에 직접 쓰고 싶다 경우
FileUpload fu; // Get the FileUpload object.
using (FileStream fs = File.OpenWrite("file.dat"))
{
fu.PostedFile.InputStream.CopyTo(fs);
fs.Flush();
}
, 당신은 다음 작업을 수행 할 수 있습니다 : 예를 들어, 여기 당신이하여 FileStream에 기록 할 방법입니다 메모리 또는 디스크에 처음 캐싱하지 않고도 입력 호스트에 직접 입력 파일을 스트리밍 할 수 있으므로 효율적입니다.
PostedFile에 액세스하면 파일이 ASP.NET에 의해 완전히 버퍼링됩니다. 이것은'HttpRequest.GetBufferlessInputStream()'(.NET 4 또는 그 이상)을 사용해서 만 회피 할 수 있지만, 차례로 요청 몸 전체를 파싱해야합니다. – ErikHeemskerk
당신은 FileBytes
(기술 저크에서 간단하게 답)
using (MemoryStream ms = new MemoryStream(FileUpload1.FileBytes))
{
//do stuff
}
또는를 사용하여 MemoryStream
에 직접 당신이 MemoryStream을
byte[] bin = FileUpload1.FileBytes;
- 1. varuinary FileStream 필드에 Fileupload ASP.net
- 2. HTML5 XHR FileUpload 및 ASP.Net의 문제점
- 3. FileUpload 컨트롤
- 4. ASP.NET FileUpload
- 5. FileUpload asp.net
- 6. FileUpload with Django
- 7. 디렉토리를 파일로 복사하는 FileUpload
- 8. DeleteOnClose 파일 옵션이있는 FileStream
- 9. SQL 2008 filestream
- 10. FILESTREAM 데이터의 물리적 위치
- 11. FileStream 대/차이 StreamWriter?
- 12. SQL Server FILESTREAM 저장소
- 13. FileStream 및 인코딩
- 14. FileStream 상단에 데이터 추가
- 15. filestream 데이터 암호화
- 16. FileStream throw UnauthorisedAccessException - C#
- 17. FileStream 사용 중
- 18. Filestream 특성이 지원되는 형식
- 19. FileStream 및 BinaryReader Disposal
- 20. 파일 이름에 querystring이있는 FileStream?
- 21. 실버 라이트 4.0하여 FileStream
- 22. Delphi, FileStream 및 MemoryStream
- 23. System.Threading.Tasks 및 FileStream
- 24. ASP.NET - PostBack 트리거가있는 FileUpload
- 25. ASP.NET/VB.NET FileUpload 컨트롤
- 26. SQL filestream 인증 우수 사례
- 27. FileUpload 컨트롤에 파일 경로 지정
- 28. GWT를 감싸는/꾸미기 FileUpload
- 29. p : fileUpload and security
- 30. fileupload 및 backbone.js + Rails
필요하지 않은 경우 당신이 실제로 무엇을하려고를는 FileUpload 파일을 넣을 수 있습니다 달성하기 위해? –
한 도메인에서 다른 도메인으로 파일을 전송해야합니다. 그래서 업로드 된 파일을 가져 와서 HttpWebRequest를 사용하여 보내십시오. –