- PR -

サーバにアップロードしたファイルの削除

投稿者投稿内容
SQ☆ふみ
常連さん
会議室デビュー日: 2003/07/11
投稿数: 32
投稿日時: 2003-09-22 11:16
いつも参考にさせて頂いてます。(^^)

またまた相談なのですが、(VB.netです。)

Protected WithEvents In_File As System.Web.UI.HtmlControls.HtmlInputFile



Me.In_File.PostedFile.SaveAs(フルパス)

で、サーバにアップロードしたファイルを削除する方法がわかりません。
ご存知の方、教えてください。お願いします♪
NYRL
ベテラン
会議室デビュー日: 2003/07/14
投稿数: 90
投稿日時: 2003-09-22 11:23
これでどうでしょう?

System.IO.File.Delete(フルパス)
SQ☆ふみ
常連さん
会議室デビュー日: 2003/07/11
投稿数: 32
投稿日時: 2003-09-22 14:05
うー・・・。

System.IO.File.Delete(フルパス)
って、やってみましたけど削除されませんでした。

エラーにもならないけど、削除されてません。。。
NYRL
ベテラン
会議室デビュー日: 2003/07/14
投稿数: 90
投稿日時: 2003-09-22 14:17
Deleteはファイルが無い時に例外を投げないので

deleteの直前でSystem.IO.File.Exists(フルパス)をいれて
デバックで動かしてファイルが認識できているか確認してみてもらえますか?

これでファイルが存在していても消せないならあとはフォルダのアクセス権限とか
だけどそれだとアクセス権限が無いっていうエラーでる筈だしなぁ・・・
SQ☆ふみ
常連さん
会議室デビュー日: 2003/07/11
投稿数: 32
投稿日時: 2003-09-22 14:40
おお。
System.IO.File.Exists(フルパス) = False
でした。(^^;)

すみません。削除以前の問題ですね。

そもそもサーバのフルパスって、
http://から始めると「URLはサポートしてません」って
言われるから、http://を除いて書いてるのですが、
それがマズイのですかね、、?
NYRL
ベテラン
会議室デビュー日: 2003/07/14
投稿数: 90
投稿日時: 2003-09-22 14:43
うっ・・・
フルパスってc:\xxxとかのことなんですが

url形式での指定はできないです

Me.In_File.PostedFile.SaveAs(フルパス)
での指定形式と実際に格納されるところがどうなってるのか分かりませんが

格納先のパス例えば c:\tmp\xxxx.txt とかです。
SQ☆ふみ
常連さん
会議室デビュー日: 2003/07/11
投稿数: 32
投稿日時: 2003-09-22 15:05
Me.In_File.PostedFile.SaveAs("/サーバ名/フォルダ名/ファイル名.拡張子")
でアップロードしてます。

で、
System.IO.File.Exists("/サーバ名/フォルダ名/ファイル名.拡張子") = False
なのが不思議ですよね?
NYRL
ベテラン
会議室デビュー日: 2003/07/14
投稿数: 90
投稿日時: 2003-09-22 15:14
それで実際にMe.In_File.PostedFile.SaveAs(フルパス)
でファイルは作成されているんですよね?

であれば Server.MapPath(("/サーバ名/フォルダ名/ファイル名.拡張子")) で実際の
ファイルの格納先が取れると思うので取れたパスを使ってexists と delete を試してみてください。

スキルアップ/キャリアアップ(JOB@IT)