3

mvc プロジェクトで剣道アップロードを使用しています。ユーザーはファイルをアップロードする必要があり、ファイル名を一意のファイル名に変更する必要があります。コントローラーでファイル名を変更します。

public ActionResult Dosyayukle(IEnumerable<HttpPostedFileBase> files)
{
    if (files != null)
    {
        foreach (var file in files)
        {
            var fileName = Path.GetFileName(file.FileName);
            var ext = Path.GetExtension(fileName);

            var physicalPath = Path.Combine(Server.MapPath("~/UploadedFiles"), fileName.Replace(ext, "") + Guid.NewGuid() + ext);
            file.SaveAs(physicalPath);
        }
    }

    // Return an empty string to signify success
    return Content("");
} 

ファイル名を取得し、このファイル名を一意の名前で db に保存する必要があります。

JS onComplate イベントで、ファイルの新しいファイル名が見つかりません。

this.onComplate = function (e) {

    var dosyaAdi = self.dosyaAdi();
    if (dosyaAdi.match(/rar$/)) {
        alert('rar');
    } else if (dosyaAdi.match(/zip$/)) {
        alert('zip');
    } else {
        alert(dosyaAdi);
    }
};

新しいファイル名を onComplate イベント ハンドラに渡すにはどうすればよいですか?

または、どうすればこれを別の方法で行うことができますか?

4

2 に答える 2

1

TempData を使用して、ファイル名と一意のキーを保存できるキー値オブジェクトを保存できます。保存呼び出しで取得できる同じ一時データ。これで問題が解決することを願っています。

于 2014-03-06T13:48:29.267 に答える
-1

あなたの質問に対する解決策を見つけました。

http://www.telerik.com/support/kb/aspnet-ajax/editor/giving-the-uploaded-files-unique-names.aspx

于 2013-05-20T05:55:36.003 に答える