1

以下は私のコードです。ファイル内のコンテンツを読んでいて、txt ファイル内のコンテンツを表示してダウンロードできます。しかし、txt ファイルを開くと、ヘッダーは filename.txt[1] のようになります。ファイル名が必要ですヘッダーとしてのみ。[1]の意味がわかりません。

public FileResult Download(string id)
    {
        int rowId = Convert.ToInt32(id);
        LoadFileInfoCache();
        var fileDetails = from ff in _currentFileDetails
                          where ff.FileId == rowId
                          select new
                          {
                              name = ff.FileName,
                              location = ff.FileLocation
                          };
        var fileDetailsList = fileDetails.ToList();
        string fileLocation = fileDetailsList[0].location;
        string fileName = fileDetailsList[0].name + ".txt";
        string contentType = "application/txt";
        var file = System.IO.File.Open(fileLocation, FileMode.Open, FileAccess.Read, FileShare.ReadWrite);
        var stream = (Stream)(file);

        return File(stream, contentType, fileName);
    } 

私のコードのどこが間違っていたのか、誰でも助けてください。

4

1 に答える 1

1

「[1]」が表示されるのは、クライアント マシンに同じ名前のファイルが既に存在するためです。SO は、競合や上書きを避けるために、その前に [1] を置きます。これはエラーではありません。これはデフォルトの動作であり、変更できません。ただし、ファイルをダウンロードしているユーザーは、必要に応じてファイル名を変更できます。

于 2012-08-07T11:24:57.970 に答える