2013-02-25 17 views
8

asp.netアプリケーションで一時ファイルと画像を作成する可能性はありますか?TempファイルAsp.net

いいえ、どうすればいいですか? (ImagePBは、以前に治療ビットマップである)

if (System.IO.File.Exists(System.IO.Path.GetTempPath() + @"img" + imgID.ToString() + "PB" + extencao) == true) 
{ 
    try 
    { 
     System.IO.File.Delete(System.IO.Path.GetTempPath() + @"img" + imgID.ToString() + "PB" + extencao); 
     imagePB.Save(System.IO.Path.GetTempPath() + @"img" + imgID.ToString() + "PB" + extencao, imgFormat); 
    } 
    catch (Exception) 
    { } 
} 
+0

これは.netサイトであることを考慮すると、アプリケーションが実行されているユーザーには、tempディレクトリへの読み取り/書き込みアクセス権が必要です。設定の手助けが必要な場合は、serverfault.com – NotMe

答えて

8

はい、GetTempPath()は、一時ファイルのパスを返し、あなたがべき作品を掲載しているコード必要があります。 http://msdn.microsoft.com/en-us/library/system.io.path.gettemppath.aspxには、GetTempPath()がどのようにパスを取得するかについての詳細があります。

ただし、Temp Pathディレクトリが存在するかどうか、またはアプリケーションによって書き込み可能かどうかは検証されません。私はGetTempPath()がアクセスできないパスを返す状況に遭遇していません。この状況を処理するには、アプリケーションでこれを考慮する必要があります。

また、これはおそらくC:\Windows\Tempです。ディスクスペースが限られている場合や、ディスクスペースが必要な場合に他のユーザーがいつでも削除することができます。アプリケーション内で一時パスを作成し、不要になったら削除することができます。

+0

にアクセスしてください。セキュリティ上の問題はどうですか? – user2013107

+0

どのような種類のセキュリティ上の問題がありますか?あなたは誰かがファイルを見ていることを心配していますか? 'GetTempPath()'フォルダに書き込めない可能性がありますか? –

+1

ASP.netアプリケーションは、デフォルトでそのフォルダに書き込むことはできません。 – Christian

関連する問題