クライアントPCからファイルをアップロードし、指定したフォルダへコピーする方法

このQ&Aのポイント
  • ASPを使用して、クライアントPCにあるファイルをサーバーPCの指定したフォルダへコピーする方法を教えてください。
  • Scripting.FileSystemObjectを使用して、コピー処理を行う方法を教えてください。
  • 現在の記述では、サーバーPCのファイルを同じPC内の別フォルダへコピーしてしまいます。クライアントPCのファイルを指定したフォルダへコピーする方法を教えてください。
回答を見る
  • ベストアンサー

クライアントPCからファイルのアップロード

ASPでファイルをアップロードするシステムを作っています。 クライントPCにあるファイル(<Input type=file>タグを使ってファイルのパスを取得)を、サーバーPCの指定したフォルダへコピーしたいです。 FileSystemObjectを使って、このような処理は可能でしょうか? Set objFileSys = CreateObject("Scripting.FileSystemObject") objFileSys.CopyFile "C:TEST\ABC.txt","D:TEST\" 現在、このような記述をしたところサーバーPCの"C:TEST\ABC.txt"をサーバーPCの"D:TEST\"へコピーするだけになってしまいます。 やりたいことはクライアントPCの"C:TEST\ABC.txt"をサーバーPCの"D:TEST\"へコピーです。 なにか良い方法がありましたら教えてください。

質問者が選んだベストアンサー

  • ベストアンサー
  • NINJA104
  • ベストアンサー率43% (133/306)
回答No.1

今ではもっと良い手段が有るのかもしれませんが、、、 BASP21.DLLをサーバにインストールして利用すると比較的簡単に出来ますよ。 参考URLの「BASP21のメソッド一覧」の内、 23. BinaryWrite ファイルにバイト配列を書込む ~ 28. FormBinary HTMLファイルアップロード(バイナリ読み) 辺りを利用します。

参考URL:
http://www.hi-ho.ne.jp/babaq/basp21.html
Cosmo2007
質問者

お礼

さっそくのご回答をありがとうございます。 できればサーバにはなにもインストールせずにおこないたいです。 可能なのでしょうか?

関連するQ&A

  • 他PCへのファイルコピー

    お世話になります。 Webからファイルアップロードしたいのですが、 ファイルサーバーがWebサーバーとは別になっています。 IISで仮想ディレクトリには設定したのですが、 うまくアップできません。 で、ローカルディレクトリにファイルをアップしてから ファイルコピーしようとしたのですが、 やはりできません。 Set objFSO = Server.CreateObject("Scripting.FileSystemObject") objFSO.CopyFile "C:\test\aaa.txt", "\\server1\c:\temp\aaa.txt",True マシンserver1のtempフォルダをネットワークドライブZにしてみて objFSO.CopyFile "C:\test\aaa.txt", "z:\temp\aaa.txt",True としてみてもダメでした。 どうすればアップできるでしょうか? なにか権限の問題でもあるのでしょうか?

  • ファイルシステムオブジェクトのメソッドについて

    こんにちは、皆さん。 以下のプログラムでコピーしようとしたら、 オブジェクトがメソッド、プロパティをサポートしてないという メッセージが表示されてしまいました。 Set fso = CreateObject("Scripting.FileSystemObject") fso.CopyFile "c:\aaa.txt", "c:\temp\" Set fso = CreateObject("Scripting.FileSystemObject") Set src = fso.GetFile("c:\aaa.txt") fso.Copy "c:\temp\" こういった場合、どんなメソッドがあるか確認するには どうしたらよいでしょうか? また、ファイルをコピーするにはどうしたらよいでしょうか? よろしくお願いします。

  • [VBS]ファイルコピーで怪奇現象

    FileSystemObjectでファイルをコピーしたく、下記のようなコードを書きました。 SYSFILEはファイル名です。(拡張子なし) ******************************************************* Dim objFileSys SYSFILE Set objFileSys = CreateObject("Scripting.FileSystemObject") objFileSys.CopyFile("C:\TEST\", "C:\REAL\SYSFILE") C:\REAL\SYSFILE"を編集して"C:\REAL\SYSFILE_NEW"を作成(コード省略) SYSFILE_NEWを読み込んで最終行の番号を取得(コード省略) ’取得した番号にリネームコピー objFileSys.CopyFile("C:\REAL\SYSFILE_NEW", "C:\REAL\XXX")←★  ******************************************************* ★のCopyFileで「ファイルが見つかりません」のエラーになります。 "C:\REAL\SYSFILE_NEW"は確実に作成されて存在しますが発生します。 おかしいと思って直前にFileExistsをしてもFalseになります。 エクスプローラー上では確かに存在するし、コピーもできます。 実際はファイル名の箇所は変数名なので中身を確認しようと★の直前行で echoで出力してみたが、変数の中身も問題ありませんでした。 おかしいのがその後です。 今度はエラーにならずに処理が通りました。 直前にechoでダイアログを表示させた場合にはエラーが発生しません。 その記述を削除するとまた発生します。 考えられる原因を教えていただきたいです…

  • ディレクトリの存在有無の確認方法

    VB6を使っています。 ファイルの存在有無はFileSystemObjectを使って以下のような方法で確認しいますが、ディレクトリの存在有無はどのようにすれば、確かめられるでしょうか? Dim objFileSys As Object Set objFileSys = CreateObject("Scripting.FileSystemObject") If objFileSys.FileExists("C:ABC.XYZ") Then よろしくお願いします。

  • Delphi 6

    いつもお世話になりありがとうございます。 Delphi 6についてご教授お願い致します。 CopyFileにてファイルをコピーしているのですが、 コピーできない時があります。 サイズの大きいファイルとか関係あるのでしょうか? ************************************************ CopyFile('C:\TEST1.TXT', 'Z:\TEST1.TXT', False); CopyFile('C:\TEST2.TXT', 'Z:\TEST2.TXT', False); CopyFile('C:\TEST3.TXT', 'Z:\TEST3.TXT', False); というように連続でコピーしたいのですが・・・

  • 読み込むテキストファイルが改行だけの場合について

    あるテキストファイルC:\test.txtが改行だけのファイルの場合、 下記のプログラムにおいて、.Read(1)で何が読み込まれるの でしょうか? Set myFso = CreateObject("Scripting.FilesystemObject") Set mytxt = myFso.OpentextFile("C:\test.txt", 1, 0) With mytxt Do While mytxt.AtEndOfStream <> True mystr = .Read(1) If mystr = "" Then j = 0 End If Loop .Close End With Set mytxt = Nothing

  • CreateObjectでエラー

    VB初心者です。 VB6で以下のコードのCreateObjectがエラー になってしまいます。 何が原因と考えられますか? Dim objFileSys As Object CheckFileExist = False 'ファイルの有無を確認する Set objFileSys = CreateObject("Scripting.FileSystemObject")   ↑   ここで、エラーが発生 CheckFileExist = objFileSys.FileExists(S_strFileFull) Set objFileSys = Nothing   エラーメッセージが   「オートメーションエラーです。    ライブラリが登録されてません。」   と出てしまいます。何が原因と考えられますか?   よろしくお願いします。

  • VBSで指定したフォルダー内のファイルを書き出さないようにする

    あるフォルダ以下のファイル名を出力ファイル、f.name.txtに書き出すのですが "新しいフォルダ"というフォルダのなかにあるファイルは書き出さないようにしたいのですが、意に反してフォルダー内の全てのファイル名を書き出してしまいます。どこがおかしいのでしょう? ********************************************** Set FSO = CreateObject("Scripting.FileSystemObject") Set fl = WScript.CreateObject("Scripting.FileSystemObject") Set abc = fl.CreateTextFile("f.name.txt") ShowSubfolders FSO.GetFolder(".") Sub ShowSubFolders(Folder) For Each File in Folder.Files 'Folder内のファイルを列挙する Fname = File.name FolderCheck=Folder & "\" & "新しいフォルダ" If Folder <> FolderCheck Then abc.Write Folder & "\" & Fname & vbCrLf End If Next For Each Subfolder in Folder.SubFolders 'Foler内のフォルダを列挙する ShowSubFolders Subfolder '再帰呼び出し Next End Sub abc.Close

  • WSHで複数のファイルを読み取り専用にしたい

    WSH初心者です。 ワールドカードを使って複数のファイルを読み取り専用にする方法がわかりません。 Set objFSO = CreateObject("Scripting.FileSystemObject") Set objFile = objFSO.GetFile("C:\*.txt") objFile.Attributes = (objFile.Attributes Or 1) これだと「ファイルが見つかりません」というエラーが出ます。 属性設定には、ワイルドカードが使えないのでしょうか?

  • DOS の BAT処理について

    お世話になります。 下記のようなBATを見よう見まねで作りました。 私が作りたいのは、「製品情報.xls」と言うファイルの更新日を見て 更新日が今日であったら、メッセージ「同じ日付です。」を表示したい だけなのです。 現状では、ファイルの更新日と今日の日付が同じなのに、何故か メッセージが出てこないのでしょうか? お忙しいとは思いますが宜しくお願い致します。 Option Explicit Dim objFileSys Dim strScriptPath Dim strFilePath Dim objFile Dim strDate Dim hizuke2 dim hizuke 'ファイルコピー用------------------------------------ Dim fso, TargetFolder, MyFile, filename Set fso = CreateObject("Scripting.FileSystemObject") 'ファイルコピー用------------------------------------ Set objFileSys = CreateObject("Scripting.FileSystemObject") Set objFile = objFileSys.GetFile("\\10.20.32.21\共有\製品情報.xls") hizuke = Date hizuke2 = Left(objFile.DateLastModified,10) WScript.echo "最終アクセス日:" & hizuke2 & " " & "今日:" & hizuke if hizuke = hizuke2 then WScript.echo "同じ日付です。"

専門家に質問してみよう