2013-02-25 33 views
6

Tôi có ứng dụng khách yêu cầu POST yêu cầu asp.net URL (được sử dụng để nâng cấp tệp lên .NET).Cách lưu nội dung yêu cầu POST dưới dạng tệp trong .NET

Làm cách nào để trang asp.net nhận được yêu cầu này và lưu dưới dạng tệp?

@ Darin Dimitrov Tôi đã thử mã của bạn nhưng tôi có 500 internal server error làm cách nào để theo dõi nó?!

+0

Tôi nghĩ rằng đây là một câu hỏi hợp lệ. Nếu bạn đang làm một bài IFRAME để tải lên một tệp cho IE <= 9 trông giống như AJAX, thì bạn cần phải tạo một biểu mẫu html với một tệp trong và đăng lên một trang .NET. Đó chính là điều tôi đang cố gắng làm. Vì vậy, câu hỏi sau đó là, trang ASPX trích xuất tệp từ dữ liệu được đăng như thế nào. Câu hỏi đặt ra là gì. – Sean

+1

Tôi đồng ý với @Sean ... đây là câu hỏi hợp lệ ... không chắc chắn lý do tại sao nó bị đóng. – FastTrack

+0

Tôi nhận thấy rằng đôi khi, các câu hỏi được đóng lại vì chúng không được viết bằng tiếng Anh tốt nhất. Đó là một lý do hoàn toàn ngu ngốc để đóng một câu hỏi. Nếu nội dung của câu hỏi là hợp pháp, liệu có cần gì khác không? –

Trả lời

17

Nếu khách hàng sử dụng mã hóa yêu cầu multipart/form-data (là tiêu chuẩn để tải tệp lên), bạn có thể truy xuất tệp đã tải lên từ bộ sưu tập Request.Files. Ví dụ:

protected void Page_Load(object sender, EventArgs e) 
{ 
    foreach (HttpPostedFile file in Request.Files) 
    { 
     var fileName = Path.GetFileName(file.FileName); 
     var path = Path.Combine(Server.MapPath("~/App_Data/uploads"), fileName); 
     file.SaveAs(path); 
    } 
} 

hoặc nếu bạn biết tên sử dụng bởi các khách hàng mà bạn trực tiếp có thể truy cập vào nó:

HttpPostedFile file = Request.Files["file"]; 

Nếu mặt khác khách hàng không sử dụng một mã hóa tiêu chuẩn cho các yêu cầu bạn có thể cần đọc tệp từ số Request.InputStream.

+0

Bạn có thể làm ơn cho tôi một ví dụ đầy đủ không, tôi không phải là chuyên gia về .NET. Tôi đã làm với khách hàng Android, và muốn làm cho các thành phần phía máy chủ? – Adham

+0

Chắc chắn, tôi đã cập nhật câu trả lời của mình với một ví dụ. –

+0

Cảm ơn bạn, điều này có hiệu quả với nó như là phía khách hàng không? Http: //stackoverflow.com/questions/1067655/how-to-upload-a-file-using-java-httpclient-library-working-with-php- lạ-pr/1068132 # 1068132 – Adham

4

Bạn cũng có thể lưu toàn bộ yêu cầu sử dụng

HttpContext.Current.Request.SaveAs(filename,includeHeaders) 

Giả sử dữ liệu không được tải lên như multipart/form-data

+0

tnx, tôi sử dụng mã này trong Trình tải lên đơn giản-Ajax khi tải lên ở dạng mvc hoặc web. https://github.com/LPology/Simple-Ajax-Uploader –

Các vấn đề liên quan