كيفية تفريغ البيانات وظيفة كاملة لملف في ASP.NET

StackOverflow https://stackoverflow.com/questions/870022

  •  22-08-2019
  •  | 
  •  

سؤال

وأنا أحاول حاليا إلى ميناء أحد التطبيقات من 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 (فايرفوكس فقط). ثم يمكنك اعتراض بيانات الوظائف الخام.

مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top