1

コードビハインドからファイルをアップロードしたい。

私の状況を少し説明したいと思います。

私の既存のコードは..

fileuploadコントロールがあります。

<asp:FileUpload ID="fuSRForm" runat="server" class="file"/>

次に、コードビハインドから、そのコントロールの条件を確認します。

if (fuSRForm.HasFile && (fuSRForm.PostedFile.ContentType.ToString().Trim().ToLower().Contains("pdf") || fuSRForm.PostedFile.ContentType.ToString().Trim().ToLower().Contains("application/vnd.openxmlformats-officedocument.wordprocessingml.document") || fuSRForm.PostedFile.ContentType.ToString().Trim().ToLower().Contains("msword")))

そして、条件が満たされている場合、

SitecoreAPIを使用してファイルをアップロードしました。

これは、APIのアップロードの一部です。

                        // creating necessary arguments to be passed to the processor
                        UploadArgs args = new UploadArgs();

                        // adding http files collection
                        args.Files = base.Request.Files;

したがって、APIはを使用して投稿されたすべてのファイルを取得していますbase.Request.Files


私の新しい状況は、ユーザーがをクリックしたときにPDFファイルを作成することですSubmit

次に、それをという名前のフォルダに保存しますasyncupload

その後Sitecore、同じAPIを使用してアップロードする必要があります

base.Request.Filesそこで、を自分のファイルに変更しようとしました。

しかし、私はそれを変えることはできません。

FileUploadしたがって、コントロールを使用してファイルをアップロードする必要があります。

            FileUpload tempFU = new FileUpload();
            tempFU.PostedFile= ????
            args.Files = base.Request.Files;

私はここで立ち往生しています。コードビハインドからファイルを投稿するか、ファイルbase.Request.Filesを自分のファイルに変更することができます。

いずれにせよ、私は立ち往生しています。誰でもそれを解決できますか?

4

2 に答える 2

0

ここでのあなたの最終目標が何であるかわかりません。私があなたを間違って理解したなら、たぶんあなたはもう少しコードを投稿することができます。ただし、メディアライブラリにファイルを追加する方法は次のとおりです。BrianPedersen:プログラムでSitecoreメディアライブラリにファイルを追加する

コントロールを使用している場合は<asp:FileUpload />、次のようにファイルをサーバーディスクに保存できます。

string filePath = Path.Combine(Server.MapPath("~/"), "upload/tempfile.tmp");
FileUpload1.SaveAs(filePath);

AddFile次に、上記のリンクからメソッドを呼び出します。

AddFile(filePath);
于 2012-11-20T21:48:10.550 に答える