首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 网站开发 > asp.net >

关于文件的大小解决办法

2011-12-28 
关于文件的大小请问大家,我用这种来获取文件源System.Net.FileWebRequestq(System.Net.FileWebRequest)Sy

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

                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 network. This can be accomplished by setting the property


// sharing of the folder containg the file.
// FileWebRequest.Credentials property cannot be used for this purpose.
readStream.Write(byteArray,0,userInput.Length);

Console.WriteLine( "\nThe String you entered was successfully written to the file. ");

readStream.Close();

}
catch(WebException e)
{
Console.WriteLine( "The WebException: "+e.Message);
}
catch(UriFormatException e)
{
Console.WriteLine( "The UriFormatWebException: "+e.Message);
}
}

public static void Main(String[] args)
{
if (args.Length < 2)
showUsage();
else
{
makeFileRequest(args[0], int.Parse(args[1]));
writeToFile();
}
}
}
}



[解决办法]
long len = MyFileWebResponse.ContentLength; // 属性包含文件系统资源的长度(以字节为单位)。

热点排行