日期:2014-05-18  浏览次数:20426 次

关于文件的大小
请问大家,我用这种来获取文件源

                System.Net.FileWebRequest   q   =   (System.Net.FileWebRequest)System.Net.FileWebRequest.Create(filepath);
                System.Net.FileWebResponse   p   =   (System.Net.FileWebResponse)q.GetResponse();

然后应该怎么写来获取这个文件的大小呢???

用这种方式是否也可以来改变整张图片的大小???

------解决方案--------------------
System.Net.FileWebResponse p = (System.Net.FileWebResponse)q.GetResponse();
double fileLength = p.ContentLength;
------解决方案--------------------
好像是responsestream.length!
楼主试试,就是流的长度
------解决方案--------------------
微软SDK中的一个例子


// This example creates or opens a text file and stores a string in it.
// Both the file and the string are passed by the user.
// Note. For this program to work, the folder containing the test file
// must be shared, with its permissions set to allow write access.

using System.Net;
using System;
using System.IO;
using System.Text;

namespace Mssc.PluggableProtocols.File
{
class TestGetRequestStream
{
private static FileWebRequest myFileWebRequest;

private static void showUsage()
{
Console.WriteLine( "\nPlease enter file name and timeout : ");
Console.WriteLine( "Usage: cs_getrequeststream <systemname> / <sharedfoldername> / <filename> timeout ");
Console.WriteLine( "Example: cs_getrequeststream ngetrequestrtream() ndpue/temp/hello.txt 1000 ");
Console.WriteLine( "Small time-out values (for example, 3 or less) cause a time-out exception. ");
}

private static void makeFileRequest(string fileName, int timeout)
{
try
{
// Create a Uri object.
Uri myUrl=new Uri( "file:// " + fileName);
// Create a FileWebRequest object.
myFileWebRequest = (FileWebRequest)WebRequest.CreateDefault(myUrl);
// Set the time-out to the value selected by the user.
myFileWebRequest.Timeout = timeout;
// Set the Method property to POST
myFileWebRequest.Method= "POST ";
}
catch(WebException e)
{
Console.WriteLine( "WebException: "+e.Message);
}
catch(UriFormatException e)
{
Console.WriteLine( "UriFormatWebException: "+e.Message);
}
}

private static void writeToFile()
{
try
{
// Enter the string to write to the file.
Console.WriteLine( "Enter the string you want to write: ");
string userInput = Console.ReadLine();
// Convert the string to a byte array.
ASCIIEncoding encoder = new ASCIIEncoding();
byte[] byteArray = encoder.GetBytes(userInput);
// Set the ContentLength property.
myFileWebRequest.ContentLength=byteArray.Length;
string contentLength = myFileWebRequest.ContentLength.ToString();
Console.WriteLine( "\nThe content length is {0}. ", contentLength);
// Get the file stream handler to write to the file.
Stream readStream=myFileWebRequest.GetRequestStream();

// Write to the file stream.
// Note. For this to work, the file must be accessible
// on the networ