将文件名添加到List <string>

时间:2018-02-09 10:16:58

标签: c# jquery asp.net asp.net-mvc

我正在使用Asp.Net MVC和C#开发Web应用程序。允许用户上传通过I've Fixed it by changing Gradle distributionUrl in "gradle-wrapper.properties". Here is what I have configured: distributionBase=GRADLE_USER_HOME distributionPath=wrapper/dists zipStoreBase=GRADLE_USER_HOME zipStorePath=wrapper/dists distributionUrl=https\://services.gradle.org/distributions/gradle-4.1-all.zip 完成的文件。我要做的是将用户上传的每个文件名添加到require 'rails_helper' require 'capybara-screenshot/rspec' require 'capybara/dsl' require 'capybara/poltergeist' Dir[Rails.root.join('spec/features/support/**/*.rb')].each { |f| require f } Capybara.register_driver :poltergeist do |app| Capybara::Poltergeist::Driver.new(app, { js_errors: false, phantomjs_options: ['--ignore-ssl-errors=yes', '--ssl-protocol=any'], debug: false, :timeout => 120, window_size: [1600, 1200], # timeout: 5.minutes, extensions: [ Rails.root.join('spec/features/support/phantomjs/disable_animations.js') ] }) end RSpec.configure do |config| config.include Auth config.include General end Capybara.configure do |config| config.default_selector = :css config.javascript_driver = :poltergeist # config.javascript_driver = :poltergeist_debug config.server_host = 'foo.xxx.localhost' Capybara.server_port = 3001 config.default_max_wait_time = 10 end 。为此,我有以下代码:

jQuery ajax

上述代码每次上传文件并将文件名添加到List<string>时,之前的计数始终为 0 ,而不是包含所有以前文件名的全部。

有人可以告诉我如何实现这一目标。

3 个答案:

答案 0 :(得分:1)

为每个请求创建一个新的Controller实例。因此,您的列表是每个请求的新实例。您需要将此列表保留在其他位置。

如果您只需要用户在网站上的一段时间的信息,您可以使用会话。

然而,由于文件上传,我怀疑您可能希望更长期地存储信息,以便返回的用户可以看到他们上传的内容。在这种情况下,请在每个请求中将信息保存到数据库中。

答案 1 :(得分:0)

您可以使用与此类似的代码将List添加到会话中:

if (Session["UploadedFileNames"] != null)
{
    Session["UploadedFileNames"] = new List<string>() { fileName };           
}
else
{
    var list = (Session["UploadedFileNames"] as List<string>);
    list.Add(fileName);
    Session["UploadedFileNames"] = list;
}

答案 2 :(得分:-3)

问题可能是每次用户尝试上传文件时都会初始化FileuploadController类,因此UploadedFilenames列表会在每次上传时重置为空列表,将UploadedFileNames字段设为静态以防止这种情况发生。