问题列表 - 第30984页

Java:如何在上传和下载文件时在文件名中包含特殊字符?

背景:

我有一个我上传的文件,在此过程中,文件的链接存储在数据库中,而不是实际文件中,实际文件存储在文件系统中,目前将其存储在我的本地机器中。

目标:

我的目标是上传一个文件并正确下载一个包含特殊字符的文件 - #,$,%,@ etc.

问题:

我可以上传带有特殊字符的文件,但无法下载带有特殊字符的文件。此外,我无法对 进行任何更改,Download Servlet因为它是 的一部分Framework,所以我只能使用Upload Servlet,所以我的重点是以这种方式上传带有特殊字符的文件,以便我可以下载它们。

我已经尝试为文件名创建一个别名,其中我用'_'符号替换特殊字符,这种方法工作正常并且能够下载文件但文件的实际名称不在此处保留,文件名中的所有特殊字符都被替换为'_'符号,这是不可接受的,因为用户应该是文件的实际名称。

任何建议或方法:

代码:

public ModelAndView save(HttpServletRequest request, HttpServletResponse response, Object command, 
                        ModelAndView modelView, BindException errors) throws Exception {

String newFileName = checkForSpecialCharsAndGetNewFileName(file.getOriginalFilename());
System.out.println("alias filename="+ newFileName);
String    url = "f" + (String.valueOf(System.currentTimeMillis())) + "_" + newFileName;
String    fileName = file.getOriginalFilename(); 
System.out.println("FileName "+ fileName);
}

//Code to replace all special characters in the incoming file with '_' symbol. …
Run Code Online (Sandbox Code Playgroud)

java spring servlets spring-mvc special-characters

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

Berkeley DB Java版 - 调整大量数据

我需要将超过10亿个密钥加载到Berkley DB中,因此我想提前调整它以获得更好的性能.使用标准配置,我现在花了大约15分钟加载1'000'000键,这太慢了.是否有适当的方法来调整例如Berkley DB的B + Tree(节点大小等...)?

(作为比较,在调整tokyo cabinet之后,它在25分钟内加载10亿个键).

PS我正在寻找调优技巧作为代码而不是为运行系统设置的参数(如jvm size等...)

performance berkeley-db-je

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

没有服务器的浏览器到浏览器通信?

是否有任何可能的方法让浏览器在不使用服务器(直接点对点)的情况下通过lan/wan相互通信?

browser p2p

14
推荐指数
1
解决办法
3645
查看次数

github没有与名称相关的地址

这些天我一直遇到github的问题,我在github上创建了一个新的存储库,然后从本地机器我尝试将我的代码推送到github:

git remote add origin git@github.com:tmi/logger.git
fatal: remote origin already exists

git push origin master
ssh: github.com:uhdyi: no address associated with name
fatal: the remote end hung up unexpectedly

ssh git -v
OpenSSH_4.6p1, OpenSSL 0.9.8e 23 Fed 2007
ssh: git: no address associated with name

ssh git@github.com
Enter passphrase for key '/c/Documents and Settings/tmi/.ssh/id_rsa':
Error: HI, tmi! you've successfullly authenticated, but GitHub doesn not provide shell access
connection to github.com closed

git push origin master
ssh: github.com:uhdyi: no address associated …

git github

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

如何将Spring Roo和GWT结合在一起

我正在尝试使用Roo中最新的GWT集成开发Spring Roo/GWT应用程序.

让脚手架工作是非常简单的,但我真的不明白RPC如何在那里工作.

有人可以提供一个简单的例子,说明如何在Spring Roo和GWT中连接客户端/服务器.

一开始会非常有帮助,因为我找不到任何资源.

thx&respect,Flo

gwt gwt-rpc spring-roo

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

编译.NET的C代码

如何编译用于.NET的C代码?

有一个用C语言写的游戏; 如何将其转换为.Net代码或使用它的某些部分?

.net c

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

使用Visual Studio管理源代码管理中的引用

我在Visual Studio中管理项目中的.dll引用时遇到了问题.所有已注册的.NET和COM引用都可以正常工作,但是当涉及到磁盘上的.dll文件时,如果我在磁盘上引用我的文件,我的同事将缺少引用,因为它们可能在磁盘上的不同位置等. Visual Studio有一个像$ PATH这样的环境变量,以便每台计算机都有路径,它会先说出它找不到引用之前的路径?或者将源控件中的.dll引用保留为更好的选项?

好吧,它运作得很好.在VS中,我只是在解决方案中添加了一个文件夹,将dll添加到文件夹中并将所有内容添加到源代码控制中.我在个别项目中提到了那些dll,当我从其他计算机获得最新版本时,它正确链接.多谢你们

version-control dll reference visual-studio-2008

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

SendToAsync内存泄漏?

我有一个简单的.net 3.5sp1 Windows应用程序(在C#中)充当UDP服务器.它侦听端口,从端点接收数据,然后将其接收的内容重新传输到另一个端点(即中继,用于直播数据流).我所经历的是在连接启动约20分钟后,它开始恶化.另外我注意到它每秒吞噬大约50-100K的内存,这在GC之后永远不会被释放.我必须关闭应用程序并重新启动它.不好.我已将问题缩小到以下代码,该代码将重新传输到另一端:

var sendBuffer = new byte[readCount];
Array.Copy(readData, sendBuffer, readCount);
SocketAsyncEventArgs args = new SocketAsyncEventArgs();
args.RemoteEndPoint = p.EP;
args.SetBuffer(sendBuffer, 0, sendBuffer.Length);
SwitchWindow.LineSocket.SendToAsync(args);
Run Code Online (Sandbox Code Playgroud)

有没有人有使用SendToAsync的内存泄漏的经验?

更新:

初始化套接字时,我实例化一个状态对象(仅执行一次).state对象有一个名为"buffer"的属性,它是一个字节数组.我从套接字接收数据异步如下:

private void beginReceiveData(ref MessageState state)
{
    var ipeSender = new IPEndPoint(IPAddress.Any, 0);
    var epSender = (EndPoint)ipeSender;

    state.workSocket = LineSocket;
    state.EP = epSender;
    state.workSocket.BeginReceiveFrom(state.buffer, 0, MessageState.BufferSize,
        SocketFlags.None, ref epSender,
        new AsyncCallback(ReceiveDataCB),
        state);
}
Run Code Online (Sandbox Code Playgroud)

然后,在我的回调(ReceiveDataCB)上,我正在检索异步对象,然后将字节缓冲区传递给另一个函数进行处理,然后调用上面发布的代码以便重新传输到另一端(state.buffer变为readData) .

更新#2:

根据我的直觉,我将发送代码更改为以下内容,摆脱了SocketAsyncEventArgs和SendToAsync:

var sendBuffer = new byte[readCount];
Array.Copy(readData, sendBuffer, readCount);
SwitchWindow.LineSocket.BeginSendTo(
    sendBuffer, 0, sendBuffer.Length, SocketFlags.None,
    p.EP, new AsyncCallback(echoCB), null);
Run Code Online (Sandbox Code Playgroud)

当然,我添加了一个"echoCB"回调,除了调用EndSendTo之外什么都不做.内存泄漏现在消失了!我怀疑它与创建如此多的SocketAsyncEventArgs对象有关,并且异步函数挂在这些对象上,每个数据包一个(每秒33个数据包,可以快速加起来).我再次查看了SocketAsyncEventArgs的MSDN文档,我注意到在提供的服务器"示例"代码中,他们使用了一个SocketAsyncEventArgs对象池.我认为它的设计并不像我使用它那样.我认为重点是不必为每次调用实例化这些缓冲区等,因此重用它们并使服务器具有更好的性能.

c# sockets asynchronous network-programming sendto

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

"select count()"非常慢

我有一个包含1,000,000条记录的数据库和一个这样的查询:

select count(code) from table1
Run Code Online (Sandbox Code Playgroud)

它在本地系统上运行良好,但在网络上变得非常慢.其他查询如select * from table快速执行,但select count(code) from table1速度很慢.我无法改变数据库的结构.我的数据库是Foxpro,我使用的是VB.NET.

有解决方案吗?

编辑:我应该写这样的代码吗?

dim ds as new dataset
dim da as new datadapter("select count(*) from table ", connection)
da.fill(ds,"tbl1")
Run Code Online (Sandbox Code Playgroud)

那么我如何select count(code) from table1从数据集中获取?

或者我必须使用LINQ?

编辑2:我的意思是select count(*)和之间的比较select count(code).
解决办法是什么?

vb.net networking foxpro

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

为什么我不能将unique_ptr push_back到向量中?

这个程序有什么问题?

#include <memory>
#include <vector>

int main()
{
    std::vector<std::unique_ptr<int>> vec;

    int x(1);
    std::unique_ptr<int> ptr2x(&x);
    vec.push_back(ptr2x); //This tiny command has a vicious error.

    return 0;
}
Run Code Online (Sandbox Code Playgroud)

错误:

In file included from c:\mingw\bin\../lib/gcc/mingw32/4.5.0/include/c++/mingw32/bits/c++allocator.h:34:0,
                 from c:\mingw\bin\../lib/gcc/mingw32/4.5.0/include/c++/bits/allocator.h:48,
                 from c:\mingw\bin\../lib/gcc/mingw32/4.5.0/include/c++/memory:64,
                 from main.cpp:6:
c:\mingw\bin\../lib/gcc/mingw32/4.5.0/include/c++/bits/unique_ptr.h: In member function 'void __gnu_cxx::new_allocator<_Tp>::construct(_Tp*, const _Tp&) [with _Tp = std::unique_ptr<int>, _Tp* = std::unique_ptr<int>*]':
c:\mingw\bin\../lib/gcc/mingw32/4.5.0/include/c++/bits/stl_vector.h:745:6:   instantiated from 'void std::vector<_Tp, _Alloc>::push_back(const value_type&) [with _Tp = std::unique_ptr<int>, _Alloc = std::allocator<std::unique_ptr<int> >, value_type = std::unique_ptr<int>]'
main.cpp:16:21:   instantiated from here
c:\mingw\bin\../lib/gcc/mingw32/4.5.0/include/c++/bits/unique_ptr.h:207:7: error: deleted function 'std::unique_ptr<_Tp, _Tp_Deleter>::unique_ptr(const …
Run Code Online (Sandbox Code Playgroud)

c++ stl smart-pointers unique-ptr c++11

192
推荐指数
2
解决办法
13万
查看次数