小编Ryo*_*Ryo的帖子

blueimp jquery-fileupload异步上传多个文件

我使用jQuery文件上传库(http://github.com/blueimp/jQuery-File-Upload),我一直停留搞清楚如何利用图书馆满足以下条件.

  • 该页面具有由表单标记包围的多个文件输入字段.
  • 用户可以将多个文件附加到每个输入字段
  • 单击按钮时,所有文件都将发送到服务器,而不是在将文件附加到输入字段时.
  • 上传是异步完成的
  • 假设页面有3个输入字段,其名称属性为"file1 []","file2 []"和"file3 []",请求有效负载应该像{file1:[file1 []上的文件数组],file2 :[file2 []]上的文件数组,...}

这是jsFiddle,它到目前为止表现得很奇怪,因为它发送了两次post请求,第一个被取消了.

更新

现在感谢@CBroe的评论,请求发送两次的问题是固定的.但是,请求参数的键未正确设置.这是更新的jsFiddle.

http://jsfiddle.net/BAQtG/27/


js代码的核心部分看起来像这样.

$(document).ready(function(){
    var filesList = []
    var elem = $("form")
    file_upload = elem.fileupload({
        formData:{extra:1},
        autoUpload: false,
        fileInput: $("input:file"),
    }).on("fileuploadadd", function(e, data){
        filesList.push(data.files[0])
    });

    $("button").click(function(){
        file_upload.fileupload('send', {files:filesList} )
    })

})
Run Code Online (Sandbox Code Playgroud)

任何人都知道如何让这个工作?

javascript jquery file-upload form-data jquery-file-upload

13
推荐指数
1
解决办法
3万
查看次数

将图像从Android(使用Android异步Http客户端)上传到rails服务器(使用回形针)

我正在尝试通过http post方法从android设备上传图像文件到rails服务器.但发布图像不起作用.更具体地说,post参数(包括图像文件)似乎没有正确发送.

我正在使用Android异步Http客户端(http://loopj.com/android-async-http/)从android发布图像,发布图像的代码是这样的.

public static void postImage(){
    RequestParams params = new RequestParams();
    params.put("picture[name]","MyPictureName");
    params.put("picture[image]",File(Environment.getExternalStorageDirectory().getPath() + "/Pictures/CameraApp/test.jpg"));
    AsyncHttpClient client = new AsyncHttpClient();
    client.post("http://x.x.x.x:3000/pictures/", params, new AsyncHttpResponseHandler() {
        @Override
        public void onSuccess(String response) {
            Log.w("async", "success!!!!");
        }                                                                                                                                                                     
    }); 
}   
Run Code Online (Sandbox Code Playgroud)

对于rails paperclip应用程序,我只使用了scaffold并生成了名为"pictures"的模型,并在其上添加了paperclip附件.模型和控制器(接收请求)如下所示.

模型

class Picture < ActiveRecord::Base                                                                                                                                            
  attr_accessible :name, :image
  has_attached_file :image,
                    :styles => { :original => "480x480>", :thumbnail => "100x100>" },
                    :path => ':rails_root/public/system/pictures/image/:id_partition/:style_:filename'
end
Run Code Online (Sandbox Code Playgroud)

调节器

# POST /pictures                                                                                                                                                              
# POST /pictures.json
def create
  @picture = Picture.new(params[:picture])

  respond_to do |format|
    if @picture.save …
Run Code Online (Sandbox Code Playgroud)

android ruby-on-rails paperclip

12
推荐指数
1
解决办法
2万
查看次数

在Capybara中选择具有多个类的元素

我正在使用Selenium在Capybara中编写自动化代码.我的HTML中有以下元素,我想在Capybara中单击此元素.

<a href="#" class="classA classB">click me</a>
Run Code Online (Sandbox Code Playgroud)

目前,工作方式如下.

find('.classA', :text=>"click me").click
Run Code Online (Sandbox Code Playgroud)

但我想从这两个类的名称中选择元素

find('a.classA.classB').click
click_on('a.classA.classB')
Run Code Online (Sandbox Code Playgroud)

我知道我们可以获取javascript代码,但这并不聪明.

page.execute_script('$("a.classA.classB").click()')
Run Code Online (Sandbox Code Playgroud)

selenium capybara

8
推荐指数
1
解决办法
1万
查看次数

保存同时指向彼此的ActiveRecord关联

我有以下型号

class Cargo < ApplicationRecord
  has_many :destinations
  has_many :assignments
  accepts_nested_attributes_for :destinations
  accepts_nested_attributes_for :assignments
end

class Destination < ApplicationRecord
  has_one :assignment_coming_to_me, class_name: 'Assignment', foreign_key: 'arrive_destination_id'
  has_one :assignment_leaving_me, class_name: 'Assignment', foreign_key: 'start_destination_id'
end

class Assignment < ApplicationRecord
  belongs_to :start_from, class_name: 'Destination', foreign_key: 'start_destination_id'
  belongs_to :arrive_at, class_name: 'Destination', foreign_key: 'arrive_destination_id'
end
Run Code Online (Sandbox Code Playgroud)

提供视觉图像,就像这样

                +-------------+
            +---| Destination |   
            |   +-------------+---+ <= start_from
            |                     |   +------------+ 
            |                     +---| Assignment |
            |                     |   +------------+ 
+-------+   |   +-------------+---+ <= arrive_at
| Cargo | --+---| Destination |   
+-------+   | …
Run Code Online (Sandbox Code Playgroud)

ruby-on-rails nested-attributes rails-activerecord

8
推荐指数
1
解决办法
99
查看次数

CFString(不可变的)内存使用量在IOS应用程序中不断增长

我正在使用工具检查IOS应用程序的内存使用情况,发现CFString一直在分配和增长。我在代码中创建NSString对象时使用了StringWithFormat方法,而不是[[NSString alloc] init]。我该如何阻止呢?下图是仪器输出的屏幕截图。

如果缺少有关该问题的必要信息,请告诉我。

仪器的屏幕截图

memory memory-leaks memory-management instruments ios

5
推荐指数
1
解决办法
2303
查看次数

无法删除windowManager.addView()附加的视图

我正在尝试删除添加到WindowManager的图层.但是当我调用removeView()时没有任何反应.有人知道如何删除它吗?我的代码看起来像这样.

public class MainActivity extends Activity implements View.OnClickListener{

    private WindowManager wm;
    private  WindowManager.LayoutParams orientationLayout;
    private LinearLayout orientationChanger;

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);

        // init landscape things
        wm = (WindowManager) getApplicationContext().getSystemService(Service.WINDOW_SERVICE);
        orientationChanger = new LinearLayout(getApplicationContext());
        orientationChanger.setClickable(false);
        orientationChanger.setFocusable(false);
        orientationChanger.setFocusableInTouchMode(false);
        orientationChanger.setLongClickable(false);
        orientationLayout = new WindowManager.LayoutParams(
                WindowManager.LayoutParams.WRAP_CONTENT, WindowManager.LayoutParams.WRAP_CONTENT,
                WindowManager.LayoutParams.TYPE_SYSTEM_ERROR,
                WindowManager.LayoutParams.FLAG_NOT_TOUCH_MODAL
                        | WindowManager.LayoutParams.FLAG_NOT_FOCUSABLE,
                PixelFormat.RGBA_8888);
        orientationLayout.screenOrientation = ActivityInfo.SCREEN_ORIENTATION_LANDSCAPE;

        // set view
        setContentView(R.layout.calibrate);

        findViewById(android.R.id.button).setOnClickListener(this);

        lockLandScape();
    }

    public void lockLandScape(){
        wm.addView(orientationChanger, orientationLayout);

        orientationChanger.setVisibility(View.GONE);
        orientationLayout.screenOrientation = ActivityInfo.SCREEN_ORIENTATION_LANDSCAPE;
        wm.updateViewLayout(orientationChanger, orientationLayout);
        orientationChanger.setVisibility(View.VISIBLE);
    }

    public void releaseLandScape(){
        wm.removeView(orientationChanger);

        // This …
Run Code Online (Sandbox Code Playgroud)

android android-layout android-view android-windowmanager

4
推荐指数
1
解决办法
8692
查看次数

以结束括号开头的JSON数据

我发现一个以结束括号开头的JSON文件用于谷歌的一项服务.以下是一个示例,您可以看到它在主数据部分之前有结束括号和单引号.我检查了获取此JSON数据的javascript代码.他们正在做的是在解析数据之前手动删除第一个连续括号.

)]}'
["value1", "value2"]
Run Code Online (Sandbox Code Playgroud)

这是我的问题.

  1. 这种JSON格式有效吗?

  2. 任何人都知道他们为什么这样做?

javascript json google-play

4
推荐指数
1
解决办法
1058
查看次数

使用[FindsBy]属性时,将IWebElements作为C#/ Selenium中的集合保存

我正在尝试使用OpenQA.Selenium.Support.PageObjects中包含的[FindsBy]属性将多个IWebElement设置为一个集合,如下所示。假设我想将所有“ li”元素保留在实例变量“ MyElements”中。

的HTML

<ul class="elements">
  <li>e1</li>
  <li>e2</li>
  <li>e3</li>
</ul>
Run Code Online (Sandbox Code Playgroud)

C#

class TopPage {

  [FindsBy(How = How.CssSelector, Using = "ul.elements li")]
  public IWebElement[] MyElements;

}
Run Code Online (Sandbox Code Playgroud)

我该如何进行这项工作?

c# selenium webdriver pageobjects selenium-webdriver

3
推荐指数
1
解决办法
5308
查看次数