0

MVC を使用して最小限のアクセスでサーバー上のファイルを記録する方法。コードの次のバージョンは、ドメインを詰まらせるため、適切ではありません。

コントローラーコード:

var fileFile = Request.Files["p" + prop.Id];
if (fileFile == null) continue;

string pathFile = AppDomain.CurrentDomain.BaseDirectory + "UploadedFiles";
string filenameFile = Path.GetFileName(fileFile.FileName);

if (filenameFile != null) fileFile.SaveAs(Path.Combine(pathFile, filenameFile));

(ファイルをキャッシュに入れることでこれを実現できる場合)

編集されたコード:

var normalPropertyValue = new Catalog.Core.Entities.OrdinaryPropertyValue();

Environment.CurrentDirectory = Environment.GetEnvironmentVariable("TEMP");

var fileFile = Request.Files["ファイル" + prop.Id]; if (fileFile == null) 続行;

文字列 pathFile = Environment.CurrentDirectory;

fileFile.SaveAs(pathFile);

通常のPropertyValue.Value = pathFile;

instance.SetPropertyValue(prop.Id, 通常のPropertyValue);

4

1 に答える 1

1

一般的なアプリケーション データの場所を使用することができます (これを維持する必要がある場合は、%TEMP% よりも優れています。私の経験では、人々は時々 %TEMP% フォルダーを消去する傾向があります) - すべてのユーザーが持っている必要がありますそれにアクセスすると、次のようにサブフォルダーに配置できます。

var appDataFolder = System.Environment.GetFolderPath(SpecialFolder.CommonApplicationData);
var dir = Path.Combine(Path.Combine(appDataFolder, "My Application"), "UploadedFiles"):

// save your files into dir

むしろ使用したいものを見つけた場合に備えて、すべての「特別なフォルダー」を次に示します

于 2011-11-18T16:49:18.010 に答える