كيفية تفريغ البيانات وظيفة كاملة لملف في ASP.NET
سؤال
وأنا أحاول حاليا إلى ميناء أحد التطبيقات من asp.net لبي، ولكن أنا مجرد ضرب الحائط وتحتاج إلى جنب مع هذا.
ولست بحاجة لتفريغ كافة البيانات وتستلم .ASPX عبر POST إلى الملف، ولكن ليس لدي أي فكرة عن كيفية القيام بذلك
وأي أفكار؟
المحلول
ويمكنك استخدام خاصية InputStream الكائن طلب. هذا وسوف تعطيك البيانات الخام من طلب HTTP. عموما قد ترغب في القيام بذلك في معالج مخصص المتشعب، ولكن أعتقد أنك تستطيع أن تفعل ذلك في أي وقت.
if (Request.RequestType == "POST")
{
using (StreamReader reader = new StreamReader(Request.InputStream))
{
// read the stream here using reader.ReadLine() and do your stuff.
}
}
نصائح أخرى
إذا كنت ترغب فقط في البيانات وظيفة، ثم يمكنك استخدام Request.Form.ToString () للحصول على كل البيانات بطريقة رابط المشفرة.
if (Request.RequestType == "POST") {
string myData = Request.Form.ToString();
writeData(myData); //use the string to dump it into a file,
}
ويمكنك استخدام BinaryRead
القراءة من نص طلب:
Request.BinaryRead
وأو هل يمكن الحصول على مرجع إلى كائن مدخلات Stream
مع:
Request.InputStream
وبعد ذلك يمكنك استخدام <لأ href = "https://stackoverflow.com/questions/444309/what-would-be-the-fastest-way-to-concatenate-three-files-in-c/444316# 444316 "> CopyStream
:
using (FileStream fs = new FileStream(...))
CopyStream(fs, Request.InputStream);
هل يمكن استخدام تطبيق وكيل مثل عازف الكمان . هذا سوف تتيح لك النظر في جميع البيانات التي تم نقلها، فضلا عن حفظه إلى ملف حسب الحاجة.
وأفضل طريقة للقيام بذلك هو عن طريق بعض متصفح البرنامج المساعد مثل عازف الكمان أو <وأ href = "http://livehttpheaders.mozdev.org/" يختلط = "نوفولو noreferrer"> LiveHttpHeaders (فايرفوكس فقط). ثم يمكنك اعتراض بيانات الوظائف الخام.