问题列表 - 第34988页

Rails使用send_file发送0字节文件

我无法使send_file(Model.attachment.path)工作.它不会失败,相反,它会向客户端发送一个0字节大小的文件,但文件名是正确的.

在我从Rails 2.3.8迁移到3之后,这个问题开始发生了.

此次迁移中还发生了很多其他事情,我会尽力详细说明所有这些事情.

  1. Distrubution更改/服务器更改.Rackspace RHEL5到Linode Ubuntu 10.04LTS
  2. Ruby版本更改,1.8.6 - > 1.9.2
  3. Rails版本更改,2.3.8 - > 3.0.0
  4. httpd平台更改,apache2 - > nginx(不过我试过apache2也没用).

我通过ftp移动附件,因为它们不是我的git存储库的一部分,因此它们通过cap deploy发布,而不是手动ftp远程(RHEL5)到本地(Win7)然后本地(Win7)到远程(Ubuntu10).

我知道FTPing不会通过传输保留文件权限,所以我所做的就是模仿我之前服务器上看到的chmod,因此它们几乎相同.(用户/组不同,设置为root:root而不是olduser:olduser).

从生产日志下载附件的请求的片段.

Started GET "/attachments/replies/1410?1277105698" for 218.102.140.205 at 2010-09-16 09:44:31 +0000
  Processing by AttachmentsController#replies as HTML
  Parameters: {"1277105698"=>nil, "id"=>"1410"}
Sent file /srv/app/releases/20100916094249/attachments/replies/UE0003-Requisition_For_Compensation_Leave.doc (0.2ms)
Completed 200 OK in 78ms
Run Code Online (Sandbox Code Playgroud)

一切都还好.我还要排除本地问题,我尝试在Win7和Ubuntu(在Vbox上)通过Chrome下载.

我还要向你保证,这条道路确实是正确的.

root@li162-41:/srv/app/current# tail /srv/app/releases/20100916094249/attachments/replies/UE0003-Requisition_For_Compensation_Leave.doc
#
    #
         %17nw
                 HQ??+1ae????
                                             %33333333333(??QR???HX?"%%??@9
??@?p4??#P@??Unknown????????????G??z ?Times New Roman5??Symbol3&?
                       ?z ?Arial5&?
Run Code Online (Sandbox Code Playgroud)

总结一下这个问题,如何让send_file实际发送文件而不是假的0字节垃圾.

linux ruby-on-rails nginx

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

什么是本地图书馆?绑定需要什么?

什么是本地图书馆?什么是约束力?为什么需要它?

.net

6
推荐指数
1
解决办法
5133
查看次数

在Android中加载和修改xml文件

我有一个xml文件,它将在资产或res文件夹中,我需要通过添加一些值来修改,然后我需要将xml转换为一个字符串,作为soap请求的一部分发送.实现这一目标最简单的方法是什么?

xml android

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

如何更新ListView中的单行?

我有一个ListView显示新闻项目.它们包含图像,标题和一些文本.图像被加载到一个单独的线程(带有队列和所有)中,当下载图像时,我现在调用notifyDataSetChanged()列表适配器来更新图像.这是有效的,但是getView()因为notifyDataSetChanged()调用getView()了所有可见的项目而被过于频繁地调用.我想只更新列表中的单个项目.我该怎么做?

我目前使用的方法存在的问题是:

  1. 滚动很慢
  2. 我在图像上有一个淡入动画,每次加载列表中的一个新图像时都会发生这种动画.

android android-arrayadapter android-listview

130
推荐指数
3
解决办法
14万
查看次数

CMS还是框架?

我正在寻找建立一个在线商店.然而,第一个问题,超过商店的想法,是平台.我以前使用过Java和PHP,对PHP非常熟悉.所以我的第一个考虑因素是Drupal或CodeIgniter(我听过很多好事)

在与朋友讨论时,他们建议Django.但我没有使用Python或Django的经验.

所以我的问题是,CI更好还是Drupal?而且,如果不是其中任何一个,Django在易于开发和可扩展性方面是否更好?

请求你不要把它变成一场php与python的战斗,因为我在这里寻求建议.谢谢

编辑:有关该项目的更多信息:

该项目旨在为某些目前尚未在线销售的产品创建网上商店.商店将提供产品的高分辨率图像和其他相关细节.与产品相关的一些其他特殊功能将及时添加,因此它们并不重要.

另一个澄清:我理解Drupal是一个CMS,而不是一个框架.我将它与CI进行比较的唯一原因是由于基础平台 - php.也许更好的比较是Joomla vs Django(但我不确定,因为我对这两者都知之甚少)

php python frameworks web-applications content-management-system

6
推荐指数
1
解决办法
6091
查看次数

引用程序集中的扩展方法?

如果我尝试调用我的扩展方法,其定义如下:

Module LinqExtensions
<System.Runtime.CompilerServices.Extension()> _
Public Function ToSortableBindingList(Of TSource)(ByVal source As IEnumerable(Of TSource)) As IBindingList
    If (source Is Nothing) Then
        Throw New ArgumentNullException("source")
    End If
    Return New SortableBindingList(Of TSource)(New List(Of TSource)(source))
End Function
End Module
Run Code Online (Sandbox Code Playgroud)

通过电话

   Dim sss As String()
   sss.AsEnumerable.ToSortableBindingList()
Run Code Online (Sandbox Code Playgroud)

它给出了一个错误"ToSortableBindingList不是System.Collections.Generic.IEnumerable(Of String)的成员".

注意:智能感知在最后一段时间后自动完成!如果我尝试调用context.TestTable.AsEnumerable.ToSortableBindingList(TestTable是一个纯EF4生成的类),它甚至不会显示intellisense.我不明白为什么.扩展方法声明"ByVal source As IEnumerable(Of TSource)"有什么问题?

*************************************编辑********************************

好的,为了澄清发生了什么,我想提供一些额外的信息.我可以追踪到以下问题:

场景:

Assembly1(根名称空间"myapp"):

...
     <System.Runtime.CompilerServices.Extension()> _
        Public Function ToTest(ByVal source As String) As String
            Return ""
        End Function
...
Run Code Online (Sandbox Code Playgroud)

'来电作品:

...
Dim a as string
a.ToTest()
...
Run Code Online (Sandbox Code Playgroud)

Assembly2 :(包括对Assembly1的参考)

'呼叫不起作用:

imports …
Run Code Online (Sandbox Code Playgroud)

.net vb.net extension-methods

10
推荐指数
1
解决办法
5707
查看次数

多处理的Python ssl问题

我想从多个客户端子进程的TLS TCP套接字中将数据从客户端发送到服务器,因此我与所有子进程共享相同的ssl套接字.通信适用于一个子进程,但如果我使用多个子ssl.SSLError进程,则TLS服务器崩溃(SSL3_GET_RECORD:解密失败或错误记录mac).

更具体:它不依赖于哪个进程首先调用该SSLSocket.write()方法,但此进程是此时唯一可以调用它的进程.如果另一个进程调用write(),服务器将导致上述异常.

我使用了这个基本代码:

tlsserver.py

import socket, ssl

def deal_with_client(connstream):
    data = connstream.read()
    while data:
        print data
        data = connstream.read()
    connstream.close()

bindsocket = socket.socket()
bindsocket.bind(('127.0.0.1', 9998))
bindsocket.listen(5)

while True:
    newsocket, fromaddr = bindsocket.accept()
    connstream = ssl.wrap_socket(newsocket,
                                server_side=True,
                                certfile="srv.crt",
                                keyfile="srv.key",
                                ssl_version=ssl.PROTOCOL_TLSv1)
    deal_with_client(connstream)
Run Code Online (Sandbox Code Playgroud)

tlsclient.py

import socket, ssl
import multiprocessing

class SubProc:
    def __init__(self, sock):
        self.sock = sock

    def do(self):
        self.sock.write("Test")

s = socket.socket(socket.AF_INET, socket.SOCK_STREAM)

ssl_sock = ssl.wrap_socket(s)
ssl_sock.connect(('127.0.0.1', 9998))

print "Connected to", repr(ssl_sock.getpeername())

for x …
Run Code Online (Sandbox Code Playgroud)

python ssl multiprocessing

15
推荐指数
1
解决办法
9457
查看次数

SoapUI:是否可以从SOAP消息中的元素自动生成值?

使用SoapUI,可以将Soap XML消息发送到WCF服务.我有以下SOAP消息:

<soap:Envelope xmlns:soap="http://www.w3.org/2003/05/soap-envelope" xmlns:my="http://myserviceprovider">
   <soap:Header/>
   <soap:Body>
      <my:ProcessOrder>
         <my:Orders>
            <my:Order>
               <my:id>randomid_1234567890</my:id>
               <my:data>ABC</my:data>
            </my:Order>
         </my:Orders>
      </my:ProcessOrder>
   </soap:Body>
</soap:Envelope>
Run Code Online (Sandbox Code Playgroud)

因为WCF服务需要my:id的唯一ID ,所以我想知道SoapUI是否提供自动生成随机GUID的功能?

xml random guid soapui

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

Visual Studio C++编译器优化打破代码?

我在这里遇到了一个奇怪的问题,VS2005和2010都有.我有一个for循环,其中调用了一个内联函数,本质上是这样的(C++,仅用于说明目的):

inline double f(int a)
{
  if (a > 100)
  {
    // This is an error condition that shouldn't happen..
  }

  // Do something with a and return a double
}
Run Code Online (Sandbox Code Playgroud)

然后是另一个函数的循环:

for (int i = 0; i < 11; ++i)
{
  double b = f(i * 10);
}
Run Code Online (Sandbox Code Playgroud)

现在发生的事情是,在调试构建中一切正常.在发布所有优化的发布版本中,这是根据反汇编编译的,因此i直接使用而没有* 10和比较a > 100变成a > 9,而我想它应该是a > 10.你有什么线索可以让编译器认为这a > 9是正确的方法吗?有趣的是,即使是周围代码中的微小更改(例如调试打印输出)也会使编译器使用i * 10并将其与文字值100进行比较.

我知道这有点模糊,但我会感激任何旧想法.

编辑:

这是一个有希望可重复的案例.我不认为它太大而不能粘贴在这里,所以这里有:

__forceinline int …
Run Code Online (Sandbox Code Playgroud)

c++ compiler-optimization visual-studio visual-c++

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

将首字母大写在红宝石中

upcase方法将整个字符串大写.

我只需要把第一个字母大写.

另外,我需要支持几种流行语言,如德语和俄语.

我该怎么做?

ruby

124
推荐指数
6
解决办法
12万
查看次数