由买买提看人间百态

boards

本页内容为未名空间相应帖子的节选和存档,一周内的贴子最多显示50字,超过一周显示500字 访问原贴
Programming版 - ASP.NET 从数据库导出的图片画质下降
相关主题
谁用过Playorm 连nosql数据库what's wrong with this C++ code?
两个面世题请版上的C++牛人讲一下g++的优化参数
A question about class size在c中如果一个function return 一个字符串
C++ Q 108: swapC++ Q07: unnamed namespace
python question, easy one《新C++标准:C++0x 概述》英文文字版[PDF]
老魏老姜老霸,我出银子给你们开机器Python里怎么verify google account
java里run curl system command的问题akka/scala/jvm
how to program a shell extension求推荐一个search internet的API
相关话题的讨论汇总
话题: byte话题: image话题: 数据库话题: array
进入Programming版参与讨论
1 (共1页)
n****a
发帖数: 174
1
这是我遇到的问题:
http://stackoverflow.com/questions/23105366/asp-net-image-quali
希望各位帮忙解答下,挺着急的,谢谢!
a9
发帖数: 21638
2
你上传的时候是jpg吗?
另外,没指定大小,是不是大小变了?

【在 n****a 的大作中提到】
: 这是我遇到的问题:
: http://stackoverflow.com/questions/23105366/asp-net-image-quali
: 希望各位帮忙解答下,挺着急的,谢谢!

n****a
发帖数: 174
3
我上传的是jpg,并且大小没有变化,我试过png,一样画质有损失

【在 a9 的大作中提到】
: 你上传的时候是jpg吗?
: 另外,没指定大小,是不是大小变了?

G**Y
发帖数: 33224
4
压缩,传zip上去,回来再解压。
如何?

【在 n****a 的大作中提到】
: 这是我遇到的问题:
: http://stackoverflow.com/questions/23105366/asp-net-image-quali
: 希望各位帮忙解答下,挺着急的,谢谢!

s***o
发帖数: 2191
5
看上去确实没必要用“buffer”.
或者加个 response.Flush, response.Close 试试?

【在 n****a 的大作中提到】
: 这是我遇到的问题:
: http://stackoverflow.com/questions/23105366/asp-net-image-quali
: 希望各位帮忙解答下,挺着急的,谢谢!

n****a
发帖数: 174
6
更奇怪的是我从数据库取出来的图片,另存为后,比原图片还要大

【在 a9 的大作中提到】
: 你上传的时候是jpg吗?
: 另外,没指定大小,是不是大小变了?

n****a
发帖数: 174
7
要怎么改呢?我感觉问题不是出在ashx这边,因为我直接upload的图片 通过ashx
preview出来的时候,是无损的,但是存进数据库再取出来,就有损了。

【在 s***o 的大作中提到】
: 看上去确实没必要用“buffer”.
: 或者加个 response.Flush, response.Close 试试?

n****a
发帖数: 174
8
请问为什么要这样处理呢?

【在 G**Y 的大作中提到】
: 压缩,传zip上去,回来再解压。
: 如何?

s***o
发帖数: 2191
9
整个byte array已经在memory里了,直接写就可以吧。
你存的是binary data, 数据不太可能在数据库操作上丢失。我怀疑不是所有data都
flush了,或者跟jpg默认显示格式有关。

【在 n****a 的大作中提到】
: 要怎么改呢?我感觉问题不是出在ashx这边,因为我直接upload的图片 通过ashx
: preview出来的时候,是无损的,但是存进数据库再取出来,就有损了。

a9
发帖数: 21638
10
同这样怀疑,换个浏览器试试看。
另外,直接用wget下载下来看看。

【在 s***o 的大作中提到】
: 整个byte array已经在memory里了,直接写就可以吧。
: 你存的是binary data, 数据不太可能在数据库操作上丢失。我怀疑不是所有data都
: flush了,或者跟jpg默认显示格式有关。

相关主题
老魏老姜老霸,我出银子给你们开机器what's wrong with this C++ code?
java里run curl system command的问题请版上的C++牛人讲一下g++的优化参数
how to program a shell extension在c中如果一个function return 一个字符串
进入Programming版参与讨论
n****a
发帖数: 174
11
谢谢您,我把memory里面的byte array直接写出来,但还是有损失,我不太理解data
flush,我换成png的结果是损失的更厉害。

【在 s***o 的大作中提到】
: 整个byte array已经在memory里了,直接写就可以吧。
: 你存的是binary data, 数据不太可能在数据库操作上丢失。我怀疑不是所有data都
: flush了,或者跟jpg默认显示格式有关。

n****a
发帖数: 174
12
我加了context.Response.Flush()在结尾处,依然有损。我之前用while loop就是为了
保证所有byte都写出来了

【在 s***o 的大作中提到】
: 整个byte array已经在memory里了,直接写就可以吧。
: 你存的是binary data, 数据不太可能在数据库操作上丢失。我怀疑不是所有data都
: flush了,或者跟jpg默认显示格式有关。

n****a
发帖数: 174
13
从chrome换成了IE,依然有损。换了张png图 并改成了image/png 下载下来的确数据小
了很多,数据有丢失。

【在 a9 的大作中提到】
: 同这样怀疑,换个浏览器试试看。
: 另外,直接用wget下载下来看看。

s***o
发帖数: 2191
14
直接返回byte array。这样的话如果还是有损失,那大概就是存的时候有问题了:
public byte[] ShowEmpImage(string PLID){
...
try
{
object img = cmd.ExecuteScalar();
return (byte[])img;
}
...
}

【在 n****a 的大作中提到】
: 谢谢您,我把memory里面的byte array直接写出来,但还是有损失,我不太理解data
: flush,我换成png的结果是损失的更厉害。

a9
发帖数: 21638
15
1,还是用wget试一下看看。
2, 写一个response.contentlength试试
3, 你的数据库字段什么类型?

【在 n****a 的大作中提到】
: 从chrome换成了IE,依然有损。换了张png图 并改成了image/png 下载下来的确数据小
: 了很多,数据有丢失。

n****a
发帖数: 174
16
对的 我就是这样直接返回的,并且还是有损失

【在 s***o 的大作中提到】
: 直接返回byte array。这样的话如果还是有损失,那大概就是存的时候有问题了:
: public byte[] ShowEmpImage(string PLID){
: ...
: try
: {
: object img = cmd.ExecuteScalar();
: return (byte[])img;
: }
: ...
: }

n****a
发帖数: 174
17
3. 数据库的data type是image
前两个请问希望得到什么样的结果?

【在 a9 的大作中提到】
: 1,还是用wget试一下看看。
: 2, 写一个response.contentlength试试
: 3, 你的数据库字段什么类型?

s***o
发帖数: 2191
18
- Add SqlDbType.Image to that parameter and see what happens
- Comment out all try/catch temporarily and let all possible exceptions
propagate
- Image type is deprecated, use varbinary(max) instead, although I don't
think this is the cause to your problem

【在 n****a 的大作中提到】
: 3. 数据库的data type是image
: 前两个请问希望得到什么样的结果?

s***o
发帖数: 2191
19
Do you check on the returned array directly, or do you use it in the
ProcessRequest method? What does the ProcessRequest method look like now?
btw, are you sure the ContentType is "image/jpg" instead of the standard "
image/jpeg" in ASP.NET?

【在 n****a 的大作中提到】
: 对的 我就是这样直接返回的,并且还是有损失
a9
发帖数: 21638
20
就是看各种原因呗。
楼下朋友说的也对,你可以直接把从数据库中读取到的值写个文件,或者debug一下看
看长度,跟你存的是不是一致。定位下到底是上传,保存,取出,返回这几步中哪步的
问题。

【在 n****a 的大作中提到】
: 3. 数据库的data type是image
: 前两个请问希望得到什么样的结果?

1 (共1页)
进入Programming版参与讨论
相关主题
求推荐一个search internet的APIpython question, easy one
git的官方文档真叫一个烂老魏老姜老霸,我出银子给你们开机器
这个cassandra paging的解决方案怎么样? (转载)java里run curl system command的问题
c++头文件太tmd恶心了how to program a shell extension
谁用过Playorm 连nosql数据库what's wrong with this C++ code?
两个面世题请版上的C++牛人讲一下g++的优化参数
A question about class size在c中如果一个function return 一个字符串
C++ Q 108: swapC++ Q07: unnamed namespace
相关话题的讨论汇总
话题: byte话题: image话题: 数据库话题: array